-
Notifications
You must be signed in to change notification settings - Fork 5.3k
uhv: implement default protocol header validations #19753
Description
As part of the unified header validation component, Envoy will maintain a header validation implementation for each supported codec (h1, h2, h3/quic). This issue will develop concrete implementations for the UHV API (#19752) that include all current header validations. Header validation is currently performed in multiple locations within Envoy and within the underlying parsing libraries. So, part of this issue will be taking an inventory of what validations are performed where and then consolidating them into the UHV component.
For example, the initial implementation will validate:
- Content-Length is a number
- Header charset
- Authority / URI syntax
- Header name and value format
- HTTP methods
- Protocol-specific validations
The goal will be for UHV to replace validations performed by the underlying libraries (http-parser and nghttp2) which will be disabled when Envoy is configured to use UHV (see #19750 and #19751).