-
Notifications
You must be signed in to change notification settings - Fork 374
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(rest): support rewinds in libcurl (#11703)
We configure libcurl to get the data for PUT and POST requests using callbacks. Sometimes libcurl may have sent part of the data and needs to resend it. The documentation mentions "multi-pass authentication methods", as well as reusing connections where libcurl detects they were closed after some data is sent. There are cases on the Internet about chasing HTTP redirects (3xx responses) too. In any case, we have seen these as flakes in the tests. I took the belt and suspenders approach. Try to handle the rewind requests, but if unhandled treat the error as retryable, because they are.
- Loading branch information
Showing
2 changed files
with
90 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters