-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Support LF request line terminator in HttpParser #43202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Deprecates #41269 |
I just pushed another commit that reworks the Benchmarking with both a local microbenchmark and with the plaintext benchmark now show no perf impact with this change. Here's the plaintext delta before and after this PR:
As good as the latency deltas look, they are within the normal noise range for this test and can be ignored. |
@sebastienros I can't add you as a reviewer haha. I showed you most of this stuff on my screen but please take another look at my commit. |
Co-authored-by: Günther Foidl <[email protected]>
@sebastienros can you open an issue with an API proposal & send it to the API reviewers email list so this can get approved? |
This reverts commit f136b66.
Renaming applied, and test code coverage is complete. |
Benchmarks with LF support enabled by default in 7.0 vs. without LF support is good:
|
Fixes #43252 |
Co-authored-by: Stephen Halter <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
This is approved for RC1. 🎉 |
@adityamandaleeka you only can merge, thanks |
Adding support for https://www.rfc-editor.org/rfc/rfc7230.html#section-3.5 which can be disabled via an app switch.
Description:
The HTTP specification allows servers to support a single LF as line terminator (on top of CR/LF). Azure App Service has been deploying Yarp as their front-end and faces clients trying to use this capability.
The PR is changing the HTTP parser to support it by default, and an optional switch to disable the support.
Regression?
No
Risk:
Verification:
Automated:
Manual: