@@ -194,26 +194,23 @@ protected virtual async System.Threading.Tasks.Task<ObjectResponseResult<T>> Rea
194
194
}
195
195
catch ( Newtonsoft . Json . JsonException exception )
196
196
{
197
- var message = "Could not deserialize the response body string as " + typeof ( T ) . FullName + "." ;
197
+ var message = "Could not deserialize the response body string as " + typeof ( T ) . FullName + "\n response content: " + responseText + " .";
198
198
throw new ApiException ( message , ( int ) response . StatusCode , responseText , headers , exception ) ;
199
199
}
200
200
}
201
201
else
202
202
{
203
+ var responseStream = await response . Content . ReadAsStreamAsync ( ) . ConfigureAwait ( false ) ;
204
+ var streamReader = new System . IO . StreamReader ( responseStream ) ;
205
+ var streamText = streamReader . ReadToEnd ( ) ;
203
206
try
204
207
{
205
- using ( var responseStream = await response . Content . ReadAsStreamAsync ( ) . ConfigureAwait ( false ) )
206
- using ( var streamReader = new System . IO . StreamReader ( responseStream ) )
207
- using ( var jsonTextReader = new Newtonsoft . Json . JsonTextReader ( streamReader ) )
208
- {
209
- var serializer = Newtonsoft . Json . JsonSerializer . Create ( JsonSerializerSettings ) ;
210
- var typedBody = serializer . Deserialize < T > ( jsonTextReader ) ;
211
- return new ObjectResponseResult < T > ( typedBody , string . Empty ) ;
212
- }
208
+ var typedBody = Newtonsoft . Json . JsonConvert . DeserializeObject < T > ( streamText , JsonSerializerSettings ) ;
209
+ return new ObjectResponseResult < T > ( typedBody , string . Empty ) ;
213
210
}
214
211
catch ( Newtonsoft . Json . JsonException exception )
215
212
{
216
- var message = "Could not deserialize the response body stream as " + typeof ( T ) . FullName + "." ;
213
+ var message = "Could not deserialize the response body stream as " + typeof ( T ) . FullName + "\n response content: " + streamText + " .";
217
214
throw new ApiException ( message , ( int ) response . StatusCode , string . Empty , headers , exception ) ;
218
215
}
219
216
}
0 commit comments