Phase 1: Security filter drains the request body before the route reads it #54

Merged
mph merged 5 commits from SUPP-53-phase-01 into SUPP-53 2026-09-14 19:51:15 +00:00
Member

Phase 01 implementation for SUPP-53.

Files

Browse changed files: https://code.iterative.works/iterative-works/support/-/blob/SUPP-53-phase-01/

Phase 01 implementation for SUPP-53. ### Files Browse changed files: https://code.iterative.works/iterative-works/support/-/blob/SUPP-53-phase-01/
- Buffer url-encoded bodies into a strict chunk ahead of the pac4j filter, so a single-read body reaches both the filter and the route intact
- Reject an oversized url-encoded body with a bare 413, measured rather than trusting Content-Length
- Rebuild the request with framing headers describing its buffered body
- Reject a size limit outside (0, Int.MaxValue) at construction, closing an overflow that would pass an emptied body through
- Add 19 regression tests and the HTTP-level test harness the module lacked
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BDfb2ghkkKiwTKVrcufmaT
Repo CI triggers only on pull requests into main or release/*, so it does
not run on a phase PR into the feature branch. The four checks it would
have applied were run locally across every module and all pass:
__.compile, __.checkFormat, __.fix --check and __.test (436 tests).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BDfb2ghkkKiwTKVrcufmaT
mph merged commit 5e2dd2b4ae into SUPP-53 2026-09-14 19:51:15 +00:00
mph deleted branch SUPP-53-phase-01 2026-09-14 19:51:15 +00:00
Sign in to join this conversation.
No description provided.