[agent] Fix a race condition when writing a response to a cancelled request. #135
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.
When a request is cancelled prior to the response being written, we might still get a response from the backend and try to write it.
Previously, if that happened the write of the response body would hang forever, waiting for the response to be serialized to the no-longer extant proxy request.
With this change, that no longer happens because we catch this scenario in the
WriteHeader
method and close the body reader... causing any subsequent writes to immediately fail.