diff --git a/websocket-sharp/Net/HttpUtility.cs b/websocket-sharp/Net/HttpUtility.cs index f9a302a9..11b2b3ef 100644 --- a/websocket-sharp/Net/HttpUtility.cs +++ b/websocket-sharp/Net/HttpUtility.cs @@ -559,6 +559,20 @@ namespace WebSocketSharp.Net } } + private static void urlPathEncode (char c, StringBuilder output) + { + if (c > 32 && c < 127) { + output.Append (c); + return; + } + + var bytes = Encoding.UTF8.GetBytes (new[] { c }); + foreach (var b in bytes) { + var i = (int) b; + output.AppendFormat ("%{0}{1}", _hexChars[i >> 4], _hexChars[i & 0x0F]); + } + } + private static void writeCharBytes (char c, IList buffer, Encoding encoding) { if (c > 255) {