@@ -7,7 +7,7 @@ use serde::{de::DeserializeOwned, Serialize};
77
88use crate :: {
99 edit:: Edits ,
10- error:: { OpenAIError , WrappedError } ,
10+ error:: { map_deserialization_error , OpenAIError , WrappedError } ,
1111 file:: Files ,
1212 image:: Images ,
1313 moderation:: Moderations ,
@@ -226,8 +226,8 @@ impl Client {
226226 let bytes = response. bytes ( ) . await ?;
227227
228228 if !status. is_success ( ) {
229- let wrapped_error: WrappedError =
230- serde_json :: from_slice ( bytes. as_ref ( ) ) . map_err ( OpenAIError :: JSONDeserialize ) ?;
229+ let wrapped_error: WrappedError = serde_json :: from_slice ( bytes . as_ref ( ) )
230+ . map_err ( |e| map_deserialization_error ( e , bytes. as_ref ( ) ) ) ?;
231231
232232 return Err ( OpenAIError :: ApiError ( wrapped_error. error ) ) ;
233233 }
@@ -264,7 +264,7 @@ impl Client {
264264 // Deserialize response body from either error object or actual response object
265265 if !status. is_success ( ) {
266266 let wrapped_error: WrappedError = serde_json:: from_slice ( bytes. as_ref ( ) )
267- . map_err ( OpenAIError :: JSONDeserialize )
267+ . map_err ( |e| map_deserialization_error ( e , bytes . as_ref ( ) ) )
268268 . map_err ( backoff:: Error :: Permanent ) ?;
269269
270270 if status. as_u16 ( ) == 429
@@ -286,7 +286,7 @@ impl Client {
286286 }
287287
288288 let response: O = serde_json:: from_slice ( bytes. as_ref ( ) )
289- . map_err ( OpenAIError :: JSONDeserialize )
289+ . map_err ( |e| map_deserialization_error ( e , bytes . as_ref ( ) ) )
290290 . map_err ( backoff:: Error :: Permanent ) ?;
291291 Ok ( response)
292292 } )
0 commit comments