Skip to content

Commit 66ede4a

Browse files
committed
消除HttpRequestMessage包装自身的可能
1 parent a6b964d commit 66ede4a

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

WebApiClientCore/Implementations/DefaultApiActionInvoker.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Net.Http;
3+
using System.Runtime.ExceptionServices;
34
using System.Threading.Tasks;
45
using WebApiClientCore.Exceptions;
56
using WebApiClientCore.Implementations.Tasks;
@@ -60,7 +61,7 @@ public virtual async Task<TResult> InvokeAsync(HttpClientContext context, object
6061
var useDefaultUserAgent = context.HttpApiOptions.UseDefaultUserAgent;
6162
using var requestMessage = new HttpApiRequestMessageImpl(requiredUri, useDefaultUserAgent);
6263

63-
var httpContext = new HttpContext(context, requestMessage);
64+
var httpContext = new HttpContext(context, requestMessage);
6465
var requestContext = new ApiRequestContext(httpContext, this.ActionDescriptor, arguments, new DefaultDataCollection());
6566
return await this.InvokeAsync(requestContext).ConfigureAwait(false);
6667
}
@@ -91,8 +92,7 @@ private async Task<TResult> InvokeAsync(ApiRequestContext request)
9192

9293
if (response.ResultStatus == ResultStatus.HasException)
9394
{
94-
var inner = response.Exception;
95-
throw new HttpRequestException(inner.Message, inner);
95+
ExceptionDispatchInfo.Capture(response.Exception).Throw();
9696
}
9797

9898
throw new ApiReturnNotSupportedExteption(response);

0 commit comments

Comments
 (0)