-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Support HTTP extension (custom) methods #18819
Comments
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
The current HTTP/1 parser is http-parser, which cannot be configured to accept custom methods. There is ongoing effort tracked at #21245 to migrate to Balsa as HTTP/1 parser. This can allow custom methods. When UHV is enabled, it will allow users to configure whether custom methods should be rejected via the restrict_http_methods field at envoy/api/envoy/extensions/http/header_validators/envoy_default/v3/header_validator.proto Lines 139 to 142 in 140dd10
|
The header validation logic in UHV already supports custom methods: envoy/source/extensions/http/header_validators/envoy_default/header_validator.cc Lines 99 to 106 in 2970ddb
However, BalsaParser currently does not skip comparison of method to the hardcoded list regardless of how UHV is configured: envoy/source/common/http/http1/balsa_parser.cc Lines 44 to 45 in 2970ddb
|
Hi, I'm working on a change to enable custom methods in http_parser. Could you please review this change Thank you! |
Presently H/1 codec has a hardcoded list of HTTP methods it accepts. This prevents applications that use extension methods (see RFC) from working.
The text was updated successfully, but these errors were encountered: