upgrader.go 500 B

123456789101112131415161718192021222324
  1. package websocket
  2. import (
  3. "net/http"
  4. "github.com/gorilla/websocket"
  5. )
  6. type Upgrader struct {
  7. WSUpgrader *websocket.Upgrader
  8. }
  9. func (u *Upgrader) Upgrade(
  10. w http.ResponseWriter,
  11. r *http.Request,
  12. responseHeader http.Header,
  13. ) (*websocket.Conn, http.ResponseWriter, *WebsocketSafeReadWriter, error) {
  14. conn, err := u.WSUpgrader.Upgrade(w, r, responseHeader)
  15. safeWriter := &WebsocketSafeReadWriter{conn}
  16. rw := &WebsocketResponseWriter{conn, safeWriter}
  17. return conn, rw, safeWriter, err
  18. }