ZBLOG

h2s := &http2.Server{} // Set up h2 server. handler := h2c.NewHandler(router, h2s) 这个处理要加在哪里

这段代码将HTTP/2升级到HTTP/1.1处理器的逻辑添加到了已有的路由器(router)上。具体来说,h2c.NewHandler()函数接受两个参数:路由器和HTTP/2服务器实例(h2s),并返回一个新的处理器。

要将该处理器应用到你的服务器中,可以使用http.ListenAndServe()函数并指定对应的地址和处理器。下面是一个示例:

package main

import (
	"log"
	"net/http"

	"github.com/gorilla/mux"
	"golang.org/x/net/http2"
	"golang.org/x/net/http2/h2c"
)

func main() {
	router := mux.NewRouter()
	// 设置路由规则

	h2s := &http2.Server{} // 设置 HTTP/2 服务器配置

	handler := h2c.NewHandler(router, h2s) // 创建 HTTP/1.1 转换处理器

	log.Fatal(http.ListenAndServe(":8080", handler))
}

在上述示例中,我们首先创建了一个mux.Router作为路由器,并设置好相关的路由规则。然后创建了一个http2.Server实例(h2s)来配置HTTP/2服务器。最后使用h2c.NewHandler()函数将路由器和HTTP/2服务器传递给处理器(handler)。

最后一行代码通过调用http.ListenAndServe()方法来启动服务器,并监听在端口:8080上。此时,所有进入服务器的请求都会经过该处理链,并根据需要进行HTTP/1.1升级处理。

请注意,为了使HTTP/2服务器正常工作,需要确保你的服务器已经配置好TLS证书,并且使用http.ListenAndServeTLS()方法来启动服务器。在上述示例中省略了这部分内容。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=17719

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?