JakeChampion / JakeChampion/trafficserver
[10.2][hdrs] HTTP QUERY method not registered as a well-known method
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 0
- Forks
- 0
- Avg merge
- 8h 2m
- Merged PRs (30d)
- 21
Description
Branch: 10.2.x (10.2.1, commit 31f1f2f3b) · Severity: low · category: missing-feature
Location: src/proxy/hdrs/HdrToken.cc:113, src/proxy/hdrs/HTTP.cc:147-178
What's wrong
The well-known method table lists only CONNECT, DELETE, GET, POST, HEAD, OPTIONS, PURGE, PUT, TRACE, PUSH. QUERY (draft-ietf-httpbis-safe-method-w-body — a safe, cacheable method with a request body) is not recognized, so it is handled as an unknown method and can't be matched by ip_allow/remap ACLs, per-method stats, or plugins.
Fix
Register QUERY in the hdrtoken method table and the HTTP_METHOD_* / HTTP_WKSIDX_* set. Caching of QUERY responses is intentionally left unchanged (a correct cache key must incorporate the request-content digest per the draft). PR attached.
Testing
Compiles cleanly on 10.2.x; test_proxy_hdrs passes. The method WKS indices stay contiguous (ip_allow's 32-bit method mask has ample room for an 11th method). clang-format clean.
From an automated multi-lens audit of the 10.2.x branch. Full report on branch claude/codebase-audit-review-9nw7vz (CODEBASE_AUDIT_10.2.md).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the method tables in src/proxy/hdrs/HdrToken.cc:113 and src/proxy/hdrs/HTTP.cc:147-178, then inspect nearby method definitions and index ordering. Confirm QUERY is represented consistently and run test_proxy_hdrs; done means the method is recognized for ACLs, statistics, and plugins while the existing caching behavior remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 82/100