-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
aws/request: Fix HTTP Request Body race condition. (#874)
* aws/request: Fix HTTP Request Body race condition. Fixes the possible race conditions where the SDK's request body could be mutated by the HTTP request directly. This could occur because the SDK did not consistently protect the SDK's request#Request.Body parameter from the http#Request.Body. This inconsistency prevented the SDK from protecting against race conditions when HTTP Client's Transport would still be reading on the http#Request.body and the SDK would be attempting to retry the API operation. During a API operation retry the request#Request.Body needs to be rewound for then next retry of the HTTP request. This is protected now by creating a strong separation between the request#Request.Body and http#Request.Body. A per request wrapper is created for each HTTP request attempt that is safe to use concurrently. Fix #868, #869, #871
- Loading branch information
Showing
5 changed files
with
69 additions
and
25 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
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
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