Skip to content

Add boundary-preserving request path source - #358

Merged
patchstackdave merged 1 commit into
mainfrom
feature-request-path-source
Oct 5, 2026
Merged

patchstackdave merged 1 commit into
mainfrom
feature-request-path-source

Conversation

@patchstackdave

Copy link
Copy Markdown
Contributor

Summary

  • Add server.REQUEST_PATH in contract 2.12: separate query/fragment before one percent-decoding pass, preserving path data without generic text or filesystem normalization.
  • Preserve the original Node request target; keep existing URI and route-scope behavior unchanged. Document Fetch platform canonicalization limits.
  • Advertise X-Patchstack-Request-Path: 1 on authenticated rules requests so the rules service can withhold incompatible rules from older runtimes.

Validation

  • Typecheck, template typecheck and build pass.
  • Protection suite: 142 files, 2,692 tests pass.
  • Contract artifact check passes; focused contract/source/client tests pass.
  • Synthetic fixtures cover encoded delimiters, query controls, single decoding, invalid escapes, dot segments, mounted URLs, inherited fields, Node and Fetch adapters.

Rollout

Deploy capability-aware rules delivery before distributing rules using this source. Older runtimes must not receive those rules. No existing rule semantics change.

Public-boundary review: only public contract details and synthetic fixtures; no private advisory artifacts or deployment information.

@coderbuds

coderbuds Bot commented Oct 5, 2026

Copy link
Copy Markdown

Well-structured feature with clear implementation and comprehensive tests.

🎯 Quality: 100% Elite · 📦 Size: Medium

📈 This month: Your 194th PR — above team average · Averaging Good

See how your team is trending →

@patchstackdave

Copy link
Copy Markdown
Contributor Author

/review

@patchstackdave
patchstackdave merged commit 4a8d19a into main Oct 5, 2026
23 checks passed
@patchstackdave
patchstackdave deleted the feature-request-path-source branch October 5, 2026 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants