[Modify] Replace it

This commit is contained in:
sta 2016-02-12 15:17:40 +09:00
parent 47eeb50a77
commit a520733ba2

View File

@ -100,6 +100,7 @@ namespace WebSocketSharp
private bool _preAuth; private bool _preAuth;
private string _protocol; private string _protocol;
private string[] _protocols; private string[] _protocols;
private bool _protocolsRequested;
private NetworkCredential _proxyCredentials; private NetworkCredential _proxyCredentials;
private Uri _proxyUri; private Uri _proxyUri;
private volatile WebSocketState _readyState; private volatile WebSocketState _readyState;
@ -935,7 +936,8 @@ namespace WebSocketSharp
headers["Sec-WebSocket-Key"] = _base64Key; headers["Sec-WebSocket-Key"] = _base64Key;
if (_protocols != null) _protocolsRequested = _protocols != null;
if (_protocolsRequested)
headers["Sec-WebSocket-Protocol"] = _protocols.ToString (", "); headers["Sec-WebSocket-Protocol"] = _protocols.ToString (", ");
_extensionsRequested = _compression != CompressionMethod.None; _extensionsRequested = _compression != CompressionMethod.None;
@ -1006,7 +1008,7 @@ namespace WebSocketSharp
if (!checkIfValidHandshakeResponse (res, out msg)) if (!checkIfValidHandshakeResponse (res, out msg))
throw new WebSocketException (CloseStatusCode.ProtocolError, msg); throw new WebSocketException (CloseStatusCode.ProtocolError, msg);
if (_protocols != null) if (_protocolsRequested)
_protocol = res.Headers["Sec-WebSocket-Protocol"]; _protocol = res.Headers["Sec-WebSocket-Protocol"];
if (_extensionsRequested) if (_extensionsRequested)
@ -1746,12 +1748,12 @@ namespace WebSocketSharp
private bool validateSecWebSocketProtocolHeader (string value) private bool validateSecWebSocketProtocolHeader (string value)
{ {
if (value == null) if (value == null)
return _protocols == null; return !_protocolsRequested;
if (value.Length == 0) if (value.Length == 0)
return false; return false;
if (_protocols == null || !_protocols.Contains (p => p == value)) if (!_protocolsRequested || !_protocols.Contains (p => p == value))
return false; return false;
return true; return true;