mirror of
https://github.com/nginx/nginx.git
synced 2026-10-24 22:57:43 -05:00
Implement a strict RFC 8941 Structured Fields Dictionary parser for the RFC 9218 Extensible Prioritization Scheme, shared by HTTP/2 (and, later, HTTP/3). New files: - ngx_http_priority.h: the ngx_http_priority_t and ngx_http_priority_state_t types and the parse/state API. - ngx_http_priority.c: the parser plus ngx_http_priority_state_init() and ngx_http_priority_state_update() (client/server merge). The field is parsed strictly: a syntax error fails the whole field (RFC 8941, Section 4.2, treats it as absent), and only on a successful parse are the RFC 9218, Section 4, rules applied, ignoring unknown members, out-of-range urgency and members of an unexpected type. On error the caller keeps any previously signalled priority. The parser bounds the number of members, inner-list items and parameters, and the length of individual strings, tokens and byte sequences, that it will accept. The sources are built only with HTTP/2 (for now), alongside the Huffman sources, rather than unconditionally into the core HTTP module. Assisted-by: opencode:claude-opus-4.8