Ensure connection errors return the expected error tuple #577
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.
Bug
We encountered an in-the Mint adapter in Tesla. The error arises when we try to issue a new request but the connection was previously closed by the server. The response is a tuple of three elements, including the closed connection struct, but only two elements are expected in the behavior. In consequence, if we chain the Logger middleware this error happens:
FunctionClauseError: no function clause matching in Tesla.Middleware.Logger.log_level/2
We can reproduce it by closing the connection before issuing the request, an example is:
Given this module
Proposed solution
PTAL @yordis. Thanks!