[Modify] Return bool

This commit is contained in:
sta 2016-01-17 16:35:54 +09:00
parent a849b1c73e
commit 8c58beb2ba

View File

@ -715,24 +715,47 @@ namespace WebSocketSharp
} }
// As client // As client
private string checkIfValidHandshakeResponse (HttpResponse response) private bool checkIfValidHandshakeResponse (HttpResponse response, out string message)
{ {
message = null;
if (response.IsRedirect) {
message = "Indicates the redirection.";
return false;
}
if (response.IsUnauthorized) {
message = "Requires the authentication.";
return false;
}
if (!response.IsWebSocketResponse) {
message = "Not a WebSocket connection response.";
return false;
}
var headers = response.Headers; var headers = response.Headers;
return response.IsRedirect if (!validateSecWebSocketAcceptHeader (headers["Sec-WebSocket-Accept"])) {
? "Indicates the redirection." message = "Includes an invalid Sec-WebSocket-Accept header.";
: response.IsUnauthorized return false;
? "Requires the authentication." }
: !response.IsWebSocketResponse
? "Not a WebSocket connection response." if (!validateSecWebSocketProtocolHeader (headers["Sec-WebSocket-Protocol"])) {
: !validateSecWebSocketAcceptHeader (headers["Sec-WebSocket-Accept"]) message = "Includes an invalid Sec-WebSocket-Protocol header.";
? "Includes an invalid Sec-WebSocket-Accept header." return false;
: !validateSecWebSocketProtocolHeader (headers["Sec-WebSocket-Protocol"]) }
? "Includes an invalid Sec-WebSocket-Protocol header."
: !validateSecWebSocketExtensionsHeader (headers["Sec-WebSocket-Extensions"]) if (!validateSecWebSocketExtensionsHeader (headers["Sec-WebSocket-Extensions"])) {
? "Includes an invalid Sec-WebSocket-Extensions header." message = "Includes an invalid Sec-WebSocket-Extensions header.";
: !validateSecWebSocketVersionServerHeader (headers["Sec-WebSocket-Version"]) return false;
? "Includes an invalid Sec-WebSocket-Version header." }
: null;
if (!validateSecWebSocketVersionServerHeader (headers["Sec-WebSocket-Version"])) {
message = "Includes an invalid Sec-WebSocket-Version header.";
return false;
}
return true;
} }
private bool checkIfValidReceivedFrame (WebSocketFrame frame, out string message) private bool checkIfValidReceivedFrame (WebSocketFrame frame, out string message)
@ -956,8 +979,9 @@ namespace WebSocketSharp
{ {
setClientStream (); setClientStream ();
var res = sendHandshakeRequest (); var res = sendHandshakeRequest ();
var msg = checkIfValidHandshakeResponse (res);
if (msg != null) string msg;
if (!checkIfValidHandshakeResponse (res, out msg))
throw new WebSocketException (CloseStatusCode.ProtocolError, msg); throw new WebSocketException (CloseStatusCode.ProtocolError, msg);
var cookies = res.Cookies; var cookies = res.Cookies;