From b79ae8bcd818c0bc5afc9a3aca0339b15a37a6c7 Mon Sep 17 00:00:00 2001 From: sta Date: Sat, 20 Oct 2018 20:50:02 +0900 Subject: [PATCH] [Modify] Add it --- websocket-sharp/Net/HttpUtility.cs | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/websocket-sharp/Net/HttpUtility.cs b/websocket-sharp/Net/HttpUtility.cs index 35ed58eb..26fd90e1 100644 --- a/websocket-sharp/Net/HttpUtility.cs +++ b/websocket-sharp/Net/HttpUtility.cs @@ -529,6 +529,37 @@ namespace WebSocketSharp.Net output.WriteByte ((byte) num); } + private static byte[] urlDecodeToBytes (byte[] bytes, int offset, int count) + { + using (var buff = new MemoryStream ()) { + var end = offset + count - 1; + for (var i = offset; i <= end; i++) { + var b = bytes[i]; + if (b == '%') { + if (i > end - 2) { + buff.Write (bytes, i, end - i + 1); + break; + } + + urlDecode (bytes, i, buff); + i += 2; + + continue; + } + + if (b == '+') { + buff.WriteByte ((byte) ' '); + continue; + } + + buff.WriteByte (b); + } + + buff.Close (); + return buff.ToArray (); + } + } + private static void urlDecodeUnicode ( byte[] bytes, int offset, Stream output )