我正在使用gorilla websocket。是否可以从*websocket.Conn
访问HTTP请求?
我想访问请求会话以识别用户。有没有办法做到这一点,除了在websocket注册上生成一个令牌,并在进一步的交互中使用它?
答案 0 :(得分:1)
使用Gorilla websocket包,应用程序编写HTTP处理程序并调用upgrader.Upgrade
方法来获取连接。这是一个例子:
func handler(w http.ResponseWriter, r *http.Request) {
conn, err := upgrader.Upgrade(w, r, nil)
if err != nil {
log.Println(err)
return
}
... Use conn to send and receive messages.
}
应用程序可以访问HTTP处理程序函数中的*http.Request
,并且可以正常使用该请求。