Modified Unquote method

This commit is contained in:
sta 2014-08-15 14:53:27 +09:00
parent 11298565a4
commit d3027834ca

View File

@ -540,15 +540,9 @@ namespace WebSocketSharp
return null; return null;
var val = nameAndValue.Substring (i + 1).Trim (); var val = nameAndValue.Substring (i + 1).Trim ();
var len = val.Length; return unquote && val.Length > 1
if (len > 0 && val[0] == '"' && unquote) { ? val.Unquote ()
var end = val.LastIndexOf ('"'); : val;
return end == 0
? len > 1 ? val.Substring (1) : String.Empty
: end > 1 ? val.Substring (1, end - 1) : String.Empty;
}
return val;
} }
internal static TcpListenerWebSocketContext GetWebSocketContext ( internal static TcpListenerWebSocketContext GetWebSocketContext (
@ -893,10 +887,13 @@ namespace WebSocketSharp
{ {
var start = value.IndexOf ('"'); var start = value.IndexOf ('"');
var end = value.LastIndexOf ('"'); var end = value.LastIndexOf ('"');
if (start < end) var len = end - start - 1;
value = value.Substring (start + 1, end - start - 1).Replace ("\\\"", "\"");
return value.Trim (); return len < 0
? value
: len == 0
? String.Empty
: value.Substring (start + 1, len).Replace ("\\\"", "\"");
} }
internal static void WriteBytes (this Stream stream, byte[] data) internal static void WriteBytes (this Stream stream, byte[] data)