gin
gin copied to clipboard
How to support WebSocket
How to gin + gorilla/websocket support WebSocket
gorilla/websocket
has provided sample codes like this:
var upgrader = websocket.Upgrader{
ReadBufferSize: 1024,
WriteBufferSize: 1024,
}
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.
}
So, in my opinion, you just wonder how to get http.Request
and http.ResponseWriter
from gin.Context
? That's simple:
func handler(c *gin.Context) {
conn, err := upgrader.Upgrade(c.Writer, c.Request, nil)
if err != nil {
log.Println(err)
return
}
// ... Use conn to send and receive messages.
}
now all others are same to official document.