@@ -95,6 +95,7 @@ public async Task<IssuuResponse> SendAsync(
95
95
using var httpReq = CreateHttpRequest ( request ) ;
96
96
HttpResponseMessage ? httpResp = null ;
97
97
98
+ string ? requestContent = await CaptureRequestContent ( httpReq ) . ConfigureAwait ( false ) ;
98
99
try
99
100
{
100
101
httpResp = await _http . SendAsync ( httpReq , cancellationToken )
@@ -106,13 +107,14 @@ public async Task<IssuuResponse> SendAsync(
106
107
httpResp )
107
108
. ConfigureAwait ( false ) ;
108
109
109
- ( transformedResponse . RequestContent , transformedResponse . ResponseContent ) = await CaptureRequestResponseContent ( httpReq , httpResp ) . ConfigureAwait ( false ) ;
110
+ transformedResponse . RequestContent = requestContent ;
111
+ transformedResponse . ResponseContent = await CaptureResponseContent ( httpResp ) . ConfigureAwait ( false ) ;
110
112
111
113
return transformedResponse ;
112
114
}
113
115
catch ( Exception ex )
114
116
{
115
- return await GetIssuuErrorResponse ( httpReq , httpResp , ex ) . ConfigureAwait ( false ) ;
117
+ return await GetIssuuErrorResponse ( httpReq , requestContent , httpResp , ex ) . ConfigureAwait ( false ) ;
116
118
}
117
119
finally
118
120
{
@@ -129,6 +131,7 @@ public async Task<IssuuResponse> SendAsync<TRequest>(
129
131
using var httpReq = CreateHttpRequest ( request ) ;
130
132
HttpResponseMessage ? httpResp = null ;
131
133
134
+ string ? requestContent = await CaptureRequestContent ( httpReq ) . ConfigureAwait ( false ) ;
132
135
try
133
136
{
134
137
httpResp = await _http . SendAsync ( httpReq , cancellationToken ) . ConfigureAwait ( false ) ;
@@ -139,13 +142,14 @@ public async Task<IssuuResponse> SendAsync<TRequest>(
139
142
httpResp )
140
143
. ConfigureAwait ( false ) ;
141
144
142
- ( transformedResponse . RequestContent , transformedResponse . ResponseContent ) = await CaptureRequestResponseContent ( httpReq , httpResp ) . ConfigureAwait ( false ) ;
145
+ transformedResponse . RequestContent = requestContent ;
146
+ transformedResponse . ResponseContent = await CaptureResponseContent ( httpResp ) . ConfigureAwait ( false ) ;
143
147
144
148
return transformedResponse ;
145
149
}
146
150
catch ( Exception ex )
147
151
{
148
- return await GetIssuuErrorResponse ( httpReq , httpResp , ex ) . ConfigureAwait ( false ) ;
152
+ return await GetIssuuErrorResponse ( httpReq , requestContent , httpResp , ex ) . ConfigureAwait ( false ) ;
149
153
}
150
154
finally
151
155
{
@@ -165,6 +169,7 @@ public async Task<IssuuResponse<TData>> FetchAsync<TData>(
165
169
using var httpReq = CreateHttpRequest ( request ) ;
166
170
HttpResponseMessage ? httpResp = null ;
167
171
172
+ string ? requestContent = await CaptureRequestContent ( httpReq ) . ConfigureAwait ( false ) ;
168
173
try
169
174
{
170
175
httpResp = await _http . SendAsync ( httpReq , cancellationToken )
@@ -178,13 +183,14 @@ public async Task<IssuuResponse<TData>> FetchAsync<TData>(
178
183
cancellationToken )
179
184
. ConfigureAwait ( false ) ;
180
185
181
- ( transformedResponse . RequestContent , transformedResponse . ResponseContent ) = await CaptureRequestResponseContent ( httpReq , httpResp ) . ConfigureAwait ( false ) ;
186
+ transformedResponse . RequestContent = requestContent ;
187
+ transformedResponse . ResponseContent = await CaptureResponseContent ( httpResp ) . ConfigureAwait ( false ) ;
182
188
183
189
return transformedResponse ;
184
190
}
185
191
catch ( Exception ex )
186
192
{
187
- return await GetIssuuErrorResponse < TData > ( httpReq , httpResp , ex ) . ConfigureAwait ( false ) ;
193
+ return await GetIssuuErrorResponse < TData > ( httpReq , requestContent , httpResp , ex ) . ConfigureAwait ( false ) ;
188
194
}
189
195
finally
190
196
{
@@ -203,6 +209,7 @@ public async Task<IssuuResponse<TResponseData>> FetchAsync<TRequestData, TRespon
203
209
using var httpReq = CreateHttpRequest ( request ) ;
204
210
HttpResponseMessage ? httpResp = null ;
205
211
212
+ string ? requestContent = await CaptureRequestContent ( httpReq ) . ConfigureAwait ( false ) ;
206
213
try
207
214
{
208
215
httpResp = await _http . SendAsync ( httpReq , cancellationToken )
@@ -216,13 +223,18 @@ public async Task<IssuuResponse<TResponseData>> FetchAsync<TRequestData, TRespon
216
223
cancellationToken )
217
224
. ConfigureAwait ( false ) ;
218
225
219
- ( transformedResponse . RequestContent , transformedResponse . ResponseContent ) = await CaptureRequestResponseContent ( httpReq , httpResp ) . ConfigureAwait ( false ) ;
226
+ transformedResponse . RequestContent = requestContent ;
227
+ transformedResponse . ResponseContent = await CaptureResponseContent ( httpResp ) . ConfigureAwait ( false ) ;
220
228
221
229
return transformedResponse ;
222
230
}
223
231
catch ( Exception ex )
224
232
{
225
- return await GetIssuuErrorResponse < TResponseData > ( httpReq , httpResp , ex ) . ConfigureAwait ( false ) ;
233
+ return await GetIssuuErrorResponse < TResponseData > (
234
+ httpReq ,
235
+ requestContent ,
236
+ httpResp ,
237
+ ex ) . ConfigureAwait ( false ) ;
226
238
}
227
239
finally
228
240
{
@@ -515,7 +527,11 @@ async Task<Error> GetIssuuError(HttpResponseMessage response, CancellationToken
515
527
return error ;
516
528
}
517
529
518
- async Task < IssuuResponse > GetIssuuErrorResponse ( HttpRequestMessage httpReq , HttpResponseMessage ? httpResp , Exception exception )
530
+ async Task < IssuuResponse > GetIssuuErrorResponse (
531
+ HttpRequestMessage httpReq ,
532
+ string ? requestContent ,
533
+ HttpResponseMessage ? httpResp ,
534
+ Exception exception )
519
535
{
520
536
var response = new IssuuResponse (
521
537
httpReq . Method ,
@@ -524,11 +540,7 @@ async Task<IssuuResponse> GetIssuuErrorResponse(HttpRequestMessage httpReq, Http
524
540
( HttpStatusCode ) 0 ,
525
541
error : new Error ( exception . Message , exception : exception ) ) ;
526
542
527
- if ( httpReq ? . Content is not null )
528
- {
529
- response . RequestContent = await httpReq . Content . ReadAsStringAsync ( )
530
- . ConfigureAwait ( false ) ;
531
- }
543
+ response . RequestContent = requestContent ;
532
544
533
545
if ( httpResp ? . Content is not null )
534
546
{
@@ -539,7 +551,11 @@ async Task<IssuuResponse> GetIssuuErrorResponse(HttpRequestMessage httpReq, Http
539
551
return response ;
540
552
}
541
553
542
- async Task < IssuuResponse < TResponse > > GetIssuuErrorResponse < TResponse > ( HttpRequestMessage httpReq , HttpResponseMessage ? httpResp , Exception exception )
554
+ async Task < IssuuResponse < TResponse > > GetIssuuErrorResponse < TResponse > (
555
+ HttpRequestMessage httpReq ,
556
+ string ? requestContent ,
557
+ HttpResponseMessage ? httpResp ,
558
+ Exception exception )
543
559
where TResponse : class
544
560
{
545
561
var response = new IssuuResponse < TResponse > (
@@ -549,12 +565,7 @@ async Task<IssuuResponse<TResponse>> GetIssuuErrorResponse<TResponse>(HttpReques
549
565
( HttpStatusCode ) 0 ,
550
566
error : new Error ( exception . Message , exception : exception ) ) ;
551
567
552
- if ( httpReq ? . Content is not null )
553
- {
554
- response . RequestContent = await httpReq . Content . ReadAsStringAsync ( )
555
- . ConfigureAwait ( false ) ;
556
- }
557
-
568
+ response . RequestContent = requestContent ;
558
569
if ( httpResp ? . Content is not null )
559
570
{
560
571
response . ResponseContent = await httpResp . Content . ReadAsStringAsync ( )
@@ -575,23 +586,30 @@ async Task<IssuuResponse<TResponse>> GetIssuuErrorResponse<TResponse>(HttpReques
575
586
? new RateLimiting { Limit = limit , Remaining = remaining , Reset = DateTimeOffset . FromUnixTimeSeconds ( reset ) } : null ;
576
587
}
577
588
578
- async Task < ( string ? , string ? ) > CaptureRequestResponseContent ( HttpRequestMessage httpReq , HttpResponseMessage ? httpResp )
589
+ async Task < string ? > CaptureRequestContent ( HttpRequestMessage httpReq )
579
590
{
580
- ( string ? request , string ? response ) = ( default , default ) ;
581
-
582
591
if ( _settings . CaptureRequestContent && httpReq . Content is not null )
583
592
{
584
- request = await httpReq . Content . ReadAsStringAsync ( )
593
+ var request = await httpReq . Content . ReadAsStringAsync ( )
585
594
. ConfigureAwait ( false ) ;
595
+
596
+ return request ;
586
597
}
587
598
599
+ return null ;
600
+ }
601
+
602
+ async Task < string ? > CaptureResponseContent ( HttpResponseMessage httpResp )
603
+ {
588
604
if ( _settings . CaptureResponseContent && httpResp . Content is not null )
589
605
{
590
- response = await httpResp . Content . ReadAsStringAsync ( )
591
- . ConfigureAwait ( false ) ; ;
606
+ var request = await httpResp . Content . ReadAsStringAsync ( )
607
+ . ConfigureAwait ( false ) ;
608
+
609
+ return request ;
592
610
}
593
611
594
- return ( request , response ) ;
612
+ return null ;
595
613
}
596
614
597
615
string ? GetHeader ( string name , HttpHeaders headers )
0 commit comments