From 4d7da0d3ba031fc54582f58ddf728d5be7603020 Mon Sep 17 00:00:00 2001 From: saidsurucu Date: Wed, 23 Jul 2025 16:31:55 +0300 Subject: [PATCH] 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 --- bedesten_mcp_module/client.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/bedesten_mcp_module/client.py b/bedesten_mcp_module/client.py index ad6f1a8..4fdba21 100644 --- a/bedesten_mcp_module/client.py +++ b/bedesten_mcp_module/client.py @@ -102,8 +102,22 @@ class BedestenApiClient: response_json = response.json() doc_response = BedestenDocumentResponse(**response_json) - # Decode base64 content - content_bytes = base64.b64decode(doc_response.data.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) + except Exception as e: + raise ValueError(f"Failed to decode base64 content: {str(e)}") + mime_type = doc_response.data.mimeType logger.info(f"BedestenApiClient: Document mime type: {mime_type}")