[release/7.0] Fix RequestBody logging when zero byte read is used #47811
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.
Backport of #47794 to release/7.0
/cc @BrennanConroy
Fix RequestBody logging when zero byte read is used
Description
In 7.0, zero-byte reads became the default in Kestrel, when using the PipeReader feature, which weren't handled by the
HttpLoggingMiddleware
. It would treat the zero-byte read as the end of what it should log for the request body, and since zero-byte reads are the first read, nothing would be logged.Customer Impact
Using the
HttpLoggingMiddleware
may stop logging request bodies when upgrading from 6.0 to 7.0.Customer reported issue #47216
Regression?
Regressed in 7.0
Risk
Small change and well understood problem.
Verification
Packaging changes reviewed?