Kaynağa Gözat

Support "Sec-Websocket-Protocol" for old-style "Upgrade" calls.

Joachim Bauch 11 yıl önce
ebeveyn
işleme
2c95e6b09f
1 değiştirilmiş dosya ile 5 ekleme ve 0 silme
  1. 5 0
      upgrader.go

+ 5 - 0
upgrader.go

@@ -144,6 +144,8 @@ func (u *Upgrader) Upgrade(w http.ResponseWriter, r *http.Request, responseHeade
 				break
 			}
 		}
+	} else if responseHeader != nil {
+		c.subprotocol = responseHeader.Get("Sec-Websocket-Protocol")
 	}
 
 	p := c.writeBuf[:0]
@@ -156,6 +158,9 @@ func (u *Upgrader) Upgrade(w http.ResponseWriter, r *http.Request, responseHeade
 		p = append(p, "\r\n"...)
 	}
 	for k, vs := range responseHeader {
+		if k == "Sec-Websocket-Protocol" {
+			continue
+		}
 		for _, v := range vs {
 			p = append(p, k...)
 			p = append(p, ": "...)