Added checking if the handshake response is a Redirect
This commit is contained in:
parent
3cc62a3590
commit
34be0af5c6
@ -587,19 +587,21 @@ namespace WebSocketSharp
|
|||||||
private string checkIfValidHandshakeResponse (HttpResponse response)
|
private string checkIfValidHandshakeResponse (HttpResponse response)
|
||||||
{
|
{
|
||||||
var headers = response.Headers;
|
var headers = response.Headers;
|
||||||
return response.IsUnauthorized
|
return response.IsRedirect
|
||||||
? "An HTTP authentication is required."
|
? "A Redirect response was received."
|
||||||
: !response.IsWebSocketResponse
|
: response.IsUnauthorized
|
||||||
? "Not a WebSocket connection response."
|
? "An HTTP authentication is required."
|
||||||
: !validateSecWebSocketAcceptHeader (headers["Sec-WebSocket-Accept"])
|
: !response.IsWebSocketResponse
|
||||||
? "Invalid Sec-WebSocket-Accept header."
|
? "Not a WebSocket connection response."
|
||||||
: !validateSecWebSocketProtocolHeader (headers["Sec-WebSocket-Protocol"])
|
: !validateSecWebSocketAcceptHeader (headers["Sec-WebSocket-Accept"])
|
||||||
? "Invalid Sec-WebSocket-Protocol header."
|
? "Invalid Sec-WebSocket-Accept header."
|
||||||
: !validateSecWebSocketExtensionsHeader (headers["Sec-WebSocket-Extensions"])
|
: !validateSecWebSocketProtocolHeader (headers["Sec-WebSocket-Protocol"])
|
||||||
? "Invalid Sec-WebSocket-Extensions header."
|
? "Invalid Sec-WebSocket-Protocol header."
|
||||||
: !validateSecWebSocketVersionServerHeader (headers["Sec-WebSocket-Version"])
|
: !validateSecWebSocketExtensionsHeader (headers["Sec-WebSocket-Extensions"])
|
||||||
? "Invalid Sec-WebSocket-Version header."
|
? "Invalid Sec-WebSocket-Extensions header."
|
||||||
: null;
|
: !validateSecWebSocketVersionServerHeader (headers["Sec-WebSocket-Version"])
|
||||||
|
? "Invalid Sec-WebSocket-Version header."
|
||||||
|
: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string checkIfValidReceivedFrame (WebSocketFrame frame)
|
private string checkIfValidReceivedFrame (WebSocketFrame frame)
|
||||||
@ -1235,6 +1237,13 @@ namespace WebSocketSharp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (res.IsRedirect) {
|
||||||
|
var url = res.Headers["Location"];
|
||||||
|
_logger.Warn (
|
||||||
|
String.Format (
|
||||||
|
"Received a Redirect response that specifies the Location to '{0}'.", url));
|
||||||
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user