diff --git a/src/Skybrud.Essentials.Http/HttpRequest.cs b/src/Skybrud.Essentials.Http/HttpRequest.cs index 3f1ec5f..5e40d1e 100644 --- a/src/Skybrud.Essentials.Http/HttpRequest.cs +++ b/src/Skybrud.Essentials.Http/HttpRequest.cs @@ -435,6 +435,14 @@ public virtual IHttpResponse GetResponse(Action callback) { #endif + } catch (AggregateException ex) { + + if (ex.InnerException is WebException web && web.Status == WebExceptionStatus.ProtocolError) { + return HttpResponse.GetFromWebResponse(web.Response as HttpWebResponse, this); + } + + throw; + } catch (WebException ex) { if (ex.Status != WebExceptionStatus.ProtocolError) throw; return HttpResponse.GetFromWebResponse(ex.Response as HttpWebResponse, this);