1212from urllib .parse import quote
1313from skyflow .error import SkyflowError
1414from skyflow .generated .rest import V1UpdateRecordResponse , V1BulkDeleteRecordResponse , \
15- V1DetokenizeResponse , V1TokenizeResponse , V1GetQueryResponse , V1BulkGetRecordResponse
15+ V1DetokenizeResponse , V1TokenizeResponse , V1GetQueryResponse , V1BulkGetRecordResponse , ApiResponse
1616from skyflow .utils .logger import log_error , log_error_log
1717from . import SkyflowMessages , SDK_VERSION
1818from .enums import Env , ContentType , EnvUrls
@@ -194,8 +194,9 @@ def parse_insert_response(api_response, continue_on_error):
194194 inserted_fields = []
195195 errors = []
196196 insert_response = InsertResponse ()
197+ response_data = json .loads (api_response .raw_data .decode ('utf-8' ))
197198 if continue_on_error :
198- for idx , response in enumerate (api_response . responses ):
199+ for idx , response in enumerate (response_data . get ( ' responses' , []) ):
199200 if response ['Status' ] == 200 :
200201 body = response ['Body' ]
201202 if 'records' in body :
@@ -210,6 +211,7 @@ def parse_insert_response(api_response, continue_on_error):
210211 inserted_fields .append (inserted_field )
211212 elif response ['Status' ] == 400 :
212213 error = {
214+ 'request_id' : api_response .headers .get ('x-request-id' ),
213215 'request_index' : idx ,
214216 'error' : response ['Body' ]['error' ]
215217 }
@@ -219,7 +221,7 @@ def parse_insert_response(api_response, continue_on_error):
219221 insert_response .errors = errors
220222
221223 else :
222- for record in api_response . records :
224+ for record in response_data . get ( ' records' , []) :
223225 field_data = {
224226 'skyflow_id' : record .skyflow_id
225227 }
@@ -264,13 +266,14 @@ def parse_get_response(api_response: V1BulkGetRecordResponse):
264266
265267 return get_response
266268
267- def parse_detokenize_response (api_response : V1DetokenizeResponse ):
269+ def parse_detokenize_response (api_response : ApiResponse [ V1DetokenizeResponse ] ):
268270 detokenized_fields = []
269271 errors = []
270272
271- for record in api_response .records :
273+ for record in api_response .data . records :
272274 if record .error :
273275 errors .append ({
276+ "request_id" : api_response .headers .get ('x-request-id' ),
274277 "token" : record .token ,
275278 "error" : record .error
276279 })
0 commit comments