@@ -194,26 +194,23 @@ protected virtual async System.Threading.Tasks.Task<ObjectResponseResult<T>> Rea
194194 }
195195 catch ( Newtonsoft . Json . JsonException exception )
196196 {
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 + " .";
198198 throw new ApiException ( message , ( int ) response . StatusCode , responseText , headers , exception ) ;
199199 }
200200 }
201201 else
202202 {
203+ var responseStream = await response . Content . ReadAsStreamAsync ( ) . ConfigureAwait ( false ) ;
204+ var streamReader = new System . IO . StreamReader ( responseStream ) ;
205+ var streamText = streamReader . ReadToEnd ( ) ;
203206 try
204207 {
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 ) ;
213210 }
214211 catch ( Newtonsoft . Json . JsonException exception )
215212 {
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 + " .";
217214 throw new ApiException ( message , ( int ) response . StatusCode , string . Empty , headers , exception ) ;
218215 }
219216 }
0 commit comments