Enhanced Error Handling with Detailed Payload Information #259
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change Summary
What is this?
This enhancement improves error handling across the Typesense client library by providing more detailed error information when things go wrong. This is particularly valuable for debugging import operations and API calls, as it now includes the complete context of what was being attempted when the error occurred. By exposing more detailed error information, developers can more quickly diagnose and fix issues in their applications.
Changes
Added Features:
New Properties in
TypesenseError
:httpBody
andhttpStatus
properties to capture complete HTTP response contextEnhanced
ImportError
inImportError.ts
:payload
property containing comprehensive import operation details:documentsInJSONLFormat
)options
)failedItems
)successCount
)Code Changes:
In
ApiCall.ts
:requestOptions
type toAxiosRequestConfig<string>
for better type safetycustomErrorForResponse
to include request body in error creationIn
Documents.ts
:Documentation Updates:
ImportErrorPayload
interface to define the structure of import error detailsContext
This change is particularly important for developers working with large-scale data imports and complex API interactions, as it provides much more context when debugging issues. The enhanced error information makes it easier to:
PR Checklist