@@ -50,8 +50,7 @@ async Task<InternalResponse> ExecuteInternal(RestRequest request, CancellationTo
50
50
51
51
using var requestContent = new RequestContent ( this , request ) ;
52
52
53
- if ( Authenticator != null )
54
- await Authenticator . Authenticate ( this , request ) . ConfigureAwait ( false ) ;
53
+ if ( Authenticator != null ) await Authenticator . Authenticate ( this , request ) . ConfigureAwait ( false ) ;
55
54
56
55
var httpMethod = AsHttpMethod ( request . Method ) ;
57
56
var url = BuildUri ( request ) ;
@@ -61,7 +60,8 @@ async Task<InternalResponse> ExecuteInternal(RestRequest request, CancellationTo
61
60
62
61
using var timeoutCts = new CancellationTokenSource ( request . Timeout > 0 ? request . Timeout : int . MaxValue ) ;
63
62
using var cts = CancellationTokenSource . CreateLinkedTokenSource ( timeoutCts . Token , cancellationToken ) ;
64
- var ct = cts . Token ;
63
+
64
+ var ct = cts . Token ;
65
65
66
66
try {
67
67
var headers = new RequestHeaders ( )
@@ -70,13 +70,11 @@ async Task<InternalResponse> ExecuteInternal(RestRequest request, CancellationTo
70
70
. AddAcceptHeader ( AcceptedContentTypes ) ;
71
71
message . AddHeaders ( headers ) ;
72
72
73
- if ( request . OnBeforeRequest != null )
74
- await request . OnBeforeRequest ( message ) . ConfigureAwait ( false ) ;
73
+ if ( request . OnBeforeRequest != null ) await request . OnBeforeRequest ( message ) . ConfigureAwait ( false ) ;
75
74
76
75
var responseMessage = await HttpClient . SendAsync ( message , request . CompletionOption , ct ) . ConfigureAwait ( false ) ;
77
76
78
- if ( request . OnAfterRequest != null )
79
- await request . OnAfterRequest ( responseMessage ) . ConfigureAwait ( false ) ;
77
+ if ( request . OnAfterRequest != null ) await request . OnAfterRequest ( responseMessage ) . ConfigureAwait ( false ) ;
80
78
81
79
return new InternalResponse ( responseMessage , url , null , timeoutCts . Token ) ;
82
80
}
@@ -99,8 +97,10 @@ record InternalResponse(HttpResponseMessage? ResponseMessage, Uri Url, Exception
99
97
request . CompletionOption = HttpCompletionOption . ResponseHeadersRead ;
100
98
var response = await ExecuteInternal ( request , cancellationToken ) . ConfigureAwait ( false ) ;
101
99
102
- if ( response . Exception != null ) {
103
- return Options . ThrowOnAnyError ? throw response . Exception : null ;
100
+ var exception = response . Exception ?? response . ResponseMessage ? . MaybeException ( ) ;
101
+
102
+ if ( exception != null ) {
103
+ return Options . ThrowOnAnyError ? throw exception : null ;
104
104
}
105
105
106
106
if ( response . ResponseMessage == null ) return null ;
@@ -141,7 +141,7 @@ static HttpMethod AsHttpMethod(Method method)
141
141
#if NETSTANDARD
142
142
Method . Patch => new HttpMethod ( "PATCH" ) ,
143
143
#else
144
- Method . Patch => HttpMethod. Patch ,
144
+ Method . Patch => HttpMethod. Patch ,
145
145
#endif
146
146
Method. Merge => new HttpMethod ( "MERGE" ) ,
147
147
Method . Copy => new HttpMethod ( "COPY" ) ,
@@ -157,11 +157,11 @@ public static RestResponse ThrowIfError(this RestResponse response) {
157
157
158
158
return response ;
159
159
}
160
-
160
+
161
161
public static RestResponse < T > ThrowIfError < T > ( this RestResponse < T > response ) {
162
162
var exception = response . GetException ( ) ;
163
163
if ( exception != null ) throw exception ;
164
164
165
165
return response ;
166
166
}
167
- }
167
+ }
0 commit comments