Properly sequence response logic for HTML5 XMLHttpResponse to avoid races #4197
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.
Identify the Bug or Feature request
Fixes #4179
Description of the Change
Alongisde some cleanup, this changes the return of
RequestHandler.processRequest()
formacro://
URIs so that the returned future is not completed until the response headers are read back from the macro variables. This avoids an accidental race between theRequestHandler.processRequest()
logic and the logic inMTXMLHttpRequest.send()
that pulls the status code from the headers. There is also a small change to handle the edge case that no status line is set when readingstatusText
.Possible Drawbacks
Should be none.
Documentation Notes
N/A
Release Notes
This change is