Added the processSecWebSocketExtensionsHeader2 (string) method

This commit is contained in:
sta 2015-03-20 16:58:40 +09:00
parent 940cb093a1
commit 446c5176e9

View File

@ -1082,6 +1082,32 @@ namespace WebSocketSharp
}
}
private void processSecWebSocketExtensionsHeader2 (string value)
{
var buff = new StringBuilder (32);
var comp = false;
foreach (var val in value.SplitHeaderValue (',')) {
var ext = val.Trim ();
if (!comp && ext.IsCompressionExtension (CompressionMethod.Deflate)) {
_compression = CompressionMethod.Deflate;
var c = ext.Contains ("server_no_context_takeover")
? _compression.ToExtensionString (
"server_no_context_takeover", "client_no_context_takeover")
: _compression.ToExtensionString ("client_no_context_takeover");
buff.AppendFormat ("{0}, ", c);
comp = true;
}
}
var len = buff.Length;
if (len > 2) {
buff.Length = len - 2;
_extensions = buff.ToString ();
}
}
private bool processUnsupportedFrame (WebSocketFrame frame, CloseStatusCode code, string reason)
{
_logger.Debug ("An unsupported frame:" + frame.PrintToString (false));