[Modify] Polish it
This commit is contained in:
parent
7146f6e1da
commit
60eae92f30
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user