Fix null type issue in Bedesten document retrieval
Add comprehensive null safety checks for document API response fields to prevent null type errors when accessing doc_response.data properties. - Check if doc_response.data exists before accessing - Validate content and mimeType fields before processing - Add error handling for base64 decoding failures - Provide descriptive error messages for debugging - Prevents 'null type' errors in get_bedesten_document_markdown
This commit is contained in:
@@ -102,8 +102,22 @@ class BedestenApiClient:
|
|||||||
response_json = response.json()
|
response_json = response.json()
|
||||||
doc_response = BedestenDocumentResponse(**response_json)
|
doc_response = BedestenDocumentResponse(**response_json)
|
||||||
|
|
||||||
# Decode base64 content
|
# Add null safety checks for document data
|
||||||
|
if not hasattr(doc_response, 'data') or doc_response.data is None:
|
||||||
|
raise ValueError("Document response does not contain data")
|
||||||
|
|
||||||
|
if not hasattr(doc_response.data, 'content') or doc_response.data.content is None:
|
||||||
|
raise ValueError("Document data does not contain content")
|
||||||
|
|
||||||
|
if not hasattr(doc_response.data, 'mimeType') or doc_response.data.mimeType is None:
|
||||||
|
raise ValueError("Document data does not contain mimeType")
|
||||||
|
|
||||||
|
# Decode base64 content with error handling
|
||||||
|
try:
|
||||||
content_bytes = base64.b64decode(doc_response.data.content)
|
content_bytes = base64.b64decode(doc_response.data.content)
|
||||||
|
except Exception as e:
|
||||||
|
raise ValueError(f"Failed to decode base64 content: {str(e)}")
|
||||||
|
|
||||||
mime_type = doc_response.data.mimeType
|
mime_type = doc_response.data.mimeType
|
||||||
|
|
||||||
logger.info(f"BedestenApiClient: Document mime type: {mime_type}")
|
logger.info(f"BedestenApiClient: Document mime type: {mime_type}")
|
||||||
|
|||||||
Reference in New Issue
Block a user