From ade6c46cca85ba9618c45372806c7ea1a999ced1 Mon Sep 17 00:00:00 2001 From: bao-qian Date: Tue, 7 Mar 2017 18:57:47 +0000 Subject: [PATCH] let it crash for http get --- Wox.Infrastructure/Http/Http.cs | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/Wox.Infrastructure/Http/Http.cs b/Wox.Infrastructure/Http/Http.cs index 2cff5fc6fe..fc93d930a5 100644 --- a/Wox.Infrastructure/Http/Http.cs +++ b/Wox.Infrastructure/Http/Http.cs @@ -1,5 +1,6 @@ using System.IO; using System.Net; +using System.Net.Http; using System.Text; using System.Threading.Tasks; using JetBrains.Annotations; @@ -47,32 +48,27 @@ namespace Wox.Infrastructure.Http /// Can't get response from http get public static async Task Get([NotNull] string url, string encoding = "UTF-8") { - - HttpWebRequest request = WebRequest.CreateHttp(url); + var request = WebRequest.CreateHttp(url); request.Method = "GET"; - request.Timeout = 10 * 1000; + request.Timeout = 1000; request.Proxy = WebProxy(); request.UserAgent = UserAgent; var response = await request.GetResponseAsync() as HttpWebResponse; - if (response != null) + response = response.NonNull(); + var stream = response.GetResponseStream().NonNull(); + + using (var reader = new StreamReader(stream, Encoding.GetEncoding(encoding))) { - var stream = response.GetResponseStream(); - if (stream != null) + var content = await reader.ReadToEndAsync(); + if (response.StatusCode == HttpStatusCode.OK) { - using (var reader = new StreamReader(stream, Encoding.GetEncoding(encoding))) - { - return await reader.ReadToEndAsync(); - } + return content; } else { - return string.Empty; + throw new HttpRequestException($"Error code <{response.StatusCode}> with content <{content}> returned from <{url}>"); } } - else - { - return string.Empty; - } } } } \ No newline at end of file