From d3027834ca60c9fe1dfd49ac06f2f0f92e15310f Mon Sep 17 00:00:00 2001 From: sta Date: Fri, 15 Aug 2014 14:53:27 +0900 Subject: [PATCH] Modified Unquote method --- websocket-sharp/Ext.cs | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs index e734b509..a2abd501 100644 --- a/websocket-sharp/Ext.cs +++ b/websocket-sharp/Ext.cs @@ -540,15 +540,9 @@ namespace WebSocketSharp return null; var val = nameAndValue.Substring (i + 1).Trim (); - var len = val.Length; - if (len > 0 && val[0] == '"' && unquote) { - var end = val.LastIndexOf ('"'); - return end == 0 - ? len > 1 ? val.Substring (1) : String.Empty - : end > 1 ? val.Substring (1, end - 1) : String.Empty; - } - - return val; + return unquote && val.Length > 1 + ? val.Unquote () + : val; } internal static TcpListenerWebSocketContext GetWebSocketContext ( @@ -893,10 +887,13 @@ namespace WebSocketSharp { var start = value.IndexOf ('"'); var end = value.LastIndexOf ('"'); - if (start < end) - value = value.Substring (start + 1, end - start - 1).Replace ("\\\"", "\""); + var len = end - start - 1; - 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)