[Modify] Polish it

This commit is contained in:
sta 2016-02-11 17:25:15 +09:00
parent 7146f6e1da
commit 60eae92f30

View File

@ -1015,6 +1015,9 @@ namespace WebSocketSharp
if (_protocols != null)
_protocol = res.Headers["Sec-WebSocket-Protocol"];
if (ExtensionsRequested)
processSecWebSocketExtensionsServerHeader (res.Headers["Sec-WebSocket-Extensions"]);
var cookies = res.Cookies;
if (cookies.Count > 0)
_cookies.SetOrRemove (cookies);
@ -1689,20 +1692,19 @@ namespace WebSocketSharp
// As client
private bool validateSecWebSocketExtensionsHeader (string value)
{
var comp = _compression != CompressionMethod.None;
if (value == null || value.Length == 0) {
if (comp)
_compression = CompressionMethod.None;
if (value == null)
return true;
}
if (!comp)
if (value.Length == 0)
return false;
if (!ExtensionsRequested)
return false;
var comp = _compression != CompressionMethod.None;
foreach (var e in value.SplitHeaderValue (',')) {
var ext = e.Trim ();
if (ext.IsCompressionExtension (_compression)) {
if (comp && ext.IsCompressionExtension (_compression)) {
if (!ext.Contains ("server_no_context_takeover")) {
_logger.Error ("The server hasn't sent back 'server_no_context_takeover'.");
return false;
@ -1712,13 +1714,15 @@ namespace WebSocketSharp
_logger.Warn ("The server hasn't sent back 'client_no_context_takeover'.");
var method = _compression.ToExtensionString ();
var invalid = ext.SplitHeaderValue (';').Contains (
var invalid =
ext.SplitHeaderValue (';').Contains (
t => {
t = t.Trim ();
return t != method &&
t != "server_no_context_takeover" &&
t != "client_no_context_takeover";
});
return t != method
&& t != "server_no_context_takeover"
&& t != "client_no_context_takeover";
}
);
if (invalid)
return false;
@ -1728,7 +1732,6 @@ namespace WebSocketSharp
}
}
_extensions = value;
return true;
}