Support sending raw HTTP request in reference client #737
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.
This still expects the test case to include a normal request, too. That allows us to continue using the "expected response" computation, based on the request. But we can then override the actual HTTP request, to simulate some behavior (mainly around on-the-wire encoding) that the reference client doesn't usually exhibit. The main things that are not possible with raw requests are the ability to do cancellations or to introduce delays between writes.
It's kinda big. Sorry about that. That is partially because the raw request body helpers I added to the
internal
package never had tests, so this PR also backfills those tests.