@@ -104,36 +104,36 @@ func (u *Upgrader) selectSubprotocol(r *http.Request, responseHeader http.Header
104
104
// response.
105
105
func (u * Upgrader ) Upgrade (w http.ResponseWriter , r * http.Request , responseHeader http.Header ) (* Conn , error ) {
106
106
if r .Method != "GET" {
107
- return u .returnError (w , r , http .StatusMethodNotAllowed , "websocket: method not GET" )
107
+ return u .returnError (w , r , http .StatusMethodNotAllowed , "websocket: not a websocket handshake: request method is not GET" )
108
108
}
109
109
110
110
if _ , ok := responseHeader ["Sec-Websocket-Extensions" ]; ok {
111
- return u .returnError (w , r , http .StatusInternalServerError , "websocket: application specific Sec-Websocket-Extensions headers are unsupported" )
112
- }
113
-
114
- if ! tokenListContainsValue (r .Header , "Sec-Websocket-Version" , "13" ) {
115
- return u .returnError (w , r , http .StatusBadRequest , "websocket: version != 13" )
111
+ return u .returnError (w , r , http .StatusInternalServerError , "websocket: application specific 'Sec-Websocket-Extensions' headers are unsupported" )
116
112
}
117
113
118
114
if ! tokenListContainsValue (r .Header , "Connection" , "upgrade" ) {
119
- return u .returnError (w , r , http .StatusBadRequest , "websocket: could not find connection header with token 'upgrade' " )
115
+ return u .returnError (w , r , http .StatusBadRequest , "websocket: not a websocket handshake: 'upgrade' token not found in 'Connection' header " )
120
116
}
121
117
122
118
if ! tokenListContainsValue (r .Header , "Upgrade" , "websocket" ) {
123
- return u .returnError (w , r , http .StatusBadRequest , "websocket: could not find upgrade header with token 'websocket'" )
119
+ return u .returnError (w , r , http .StatusBadRequest , "websocket: not a websocket handshake: 'websocket' token not found in 'Upgrade' header" )
120
+ }
121
+
122
+ if ! tokenListContainsValue (r .Header , "Sec-Websocket-Version" , "13" ) {
123
+ return u .returnError (w , r , http .StatusBadRequest , "websocket: unsupported version: 13 not found in 'Sec-Websocket-Version' header" )
124
124
}
125
125
126
126
checkOrigin := u .CheckOrigin
127
127
if checkOrigin == nil {
128
128
checkOrigin = checkSameOrigin
129
129
}
130
130
if ! checkOrigin (r ) {
131
- return u .returnError (w , r , http .StatusForbidden , "websocket: origin not allowed" )
131
+ return u .returnError (w , r , http .StatusForbidden , "websocket: 'Origin' header value not allowed" )
132
132
}
133
133
134
134
challengeKey := r .Header .Get ("Sec-Websocket-Key" )
135
135
if challengeKey == "" {
136
- return u .returnError (w , r , http .StatusBadRequest , "websocket: key missing or blank" )
136
+ return u .returnError (w , r , http .StatusBadRequest , "websocket: not a websocket handshake: `Sec-Websocket-Key' header is missing or blank" )
137
137
}
138
138
139
139
subprotocol := u .selectSubprotocol (r , responseHeader )
0 commit comments