diff --git a/Maki/Maki.csproj b/Maki/Maki.csproj index 4530d90..9a03f35 100644 --- a/Maki/Maki.csproj +++ b/Maki/Maki.csproj @@ -39,6 +39,27 @@ $(SolutionDir)\packages\Newtonsoft.Json.10.0.3\lib\net40\Newtonsoft.Json.dll + + ..\..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.IO.dll + + + ..\..\packages\Microsoft.Net.Http.2.2.29\lib\net40\System.Net.Http.dll + + + ..\..\packages\Microsoft.Net.Http.2.2.29\lib\net40\System.Net.Http.Extensions.dll + + + ..\..\packages\Microsoft.Net.Http.2.2.29\lib\net40\System.Net.Http.Primitives.dll + + + ..\..\packages\Microsoft.Net.Http.2.2.29\lib\net40\System.Net.Http.WebRequest.dll + + + ..\..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Runtime.dll + + + ..\..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Threading.Tasks.dll + $(SolutionDir)\packages\WebSocketSharp.1.0.3-rc11\lib\websocket-sharp.dll @@ -125,7 +146,13 @@ + + + + + + \ No newline at end of file diff --git a/Maki/Rest/WebRequest.cs b/Maki/Rest/WebRequest.cs index 00a1ceb..679b259 100644 --- a/Maki/Rest/WebRequest.cs +++ b/Maki/Rest/WebRequest.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; +using System.Net.Http; using System.Text; using System.Threading; @@ -18,6 +19,8 @@ namespace Maki.Rest private const long BUFFER_SIZE = 8192000; + private static HttpClient HttpClient; + public readonly HttpMethod Method; public readonly string Url; @@ -91,7 +94,21 @@ namespace Maki.Rest static WebRequest() { - ServicePointManager.Expect100Continue = false; + CreateHttpClientInstance(); + } + + private static void CreateHttpClientInstance() + { + HttpClient?.Dispose(); + + HttpClient = new HttpClient(new HttpClientHandler + { + AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate + }); + + HttpClient.DefaultRequestHeaders.UserAgent.ParseAdd(USER_AGENT); + HttpClient.DefaultRequestHeaders.ExpectContinue = true; + HttpClient.Timeout = new TimeSpan(0, 0, 0, 0, Timeout.Infinite); } public WebRequest(HttpMethod method, string url) @@ -147,7 +164,6 @@ namespace Maki.Rest HttpWebRequest.Method = Method.ToString(); HttpWebRequest.UserAgent = UserAgent; HttpWebRequest.KeepAlive = true; - //wRequest.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; HttpWebRequest.ReadWriteTimeout = Timeout.Infinite; HttpWebRequest.Timeout = Timeout.Infinite; diff --git a/Maki/app.config b/Maki/app.config new file mode 100644 index 0000000..9f4c521 --- /dev/null +++ b/Maki/app.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Maki/packages.config b/Maki/packages.config index 879f443..2998e90 100644 --- a/Maki/packages.config +++ b/Maki/packages.config @@ -1,5 +1,8 @@  + + + \ No newline at end of file