Skip to content

Tests: RFC9218 extensible prioritization#69

Open
ac000 wants to merge 2 commits into
nginx:masterfrom
ac000:rfc9218
Open

Tests: RFC9218 extensible prioritization#69
ac000 wants to merge 2 commits into
nginx:masterfrom
ac000:rfc9218

Conversation

@ac000

@ac000 ac000 commented Jun 30, 2026

Copy link
Copy Markdown
Member
These patches accompany the RFC9218 HTTP/2 extensible prioritization
implementation for nginx (posted to nginx/nginx#1520).

Patch 1 adds h2_rfc9218.t with 13 tests covering:

  - SETTINGS_NO_RFC7540_PRIORITIES (0x9) advertisement
  - Priority header parsing (u=1, u=3 i, u=5 i=?0)
  - Malformed priority header handling (defaults applied)
  - PRIORITY_UPDATE frame error cases (wrong stream, even/zero ID)
  - PRIORITY_UPDATE before HEADERS (buffered priority)
  - PRIORITY_UPDATE for existing stream
  - Upstream Priority header passthrough via proxy
  - RFC9218 Section 8 priority merge behavior

Patch 2 removes h2_priority.t since RFC7540 priority handling has been
removed from nginx in favor of RFC9218.

These patches were produced with AI assistance (Claude Opus 4.5 via
gh-copilot), as indicated by the Assisted-by tag in each commit.

 h2_priority.t | 449 ----------------------------------------------------------
 h2_rfc9218.t  | 272 +++++++++++++++++++++++++++++++++++
 2 files changed, 272 insertions(+), 449 deletions(-)
 delete mode 100644 h2_priority.t
 create mode 100644 h2_rfc9218.t

-- 

@sindhushiv

Copy link
Copy Markdown

@sindhushiv

Copy link
Copy Markdown

nginx/nginx#1420

ac000 added 2 commits July 10, 2026 00:10
Add tests for HTTP/2 RFC9218 Extensible Prioritization Scheme:

- SETTINGS_NO_RFC7540_PRIORITIES (0x9) advertisement
- Priority header parsing with various urgency/incremental values
- Malformed priority header handling (defaults applied)
- PRIORITY_UPDATE frame on wrong stream (PROTOCOL_ERROR)
- PRIORITY_UPDATE for even/zero stream ID (PROTOCOL_ERROR)
- PRIORITY_UPDATE before HEADERS (buffered priority)
- PRIORITY_UPDATE for existing stream
- Upstream Priority header passthrough via proxy
- Partial upstream priority merge (RFC9218 Section 8)

Assisted-by: GitHub Copilot:claude-opus-4.5
RFC7540 priority handling has been removed from nginx in favor of
RFC9218 extensible priorities. This test file tested the legacy
weight and dependency-based priority system which no longer exists.

Assisted-by: GitHub Copilot:claude-opus-4.5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

2 participants