Added proper handling of streaming error responses across both Faraday V1 and V2 #273
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.
What this does
When used within our app, streaming error responses were throwing an error and not being properly handled
It looks like the introduction of support for Faraday V1 introduced this error, as the error handling relies on an
env
that is no longer passed. This should provide a fix for both V1 and V2.One thing to note, I had to manually construct the VCR cassettes, I'm not sure of a better way to test an intermittent error response.
I have also only written the tests against
anthropic/claude-3-5-haiku-20241022
- it's possible other models with a different error format may still not be properly handled, but even in that case it won't error for the reasons fixed here.Type of change
Scope check
Quality check
overcommit --install
and all hooks passmodels.json
,aliases.json
)API changes
Related issues