Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reserved path expansion emitted raw
/,?, and#, which split a single parameter into route segments or URL query/fragment components. A generated client calling its generated server reproduced a 404 foropa/examples/public servers.Escape forbidden path characters in the shared scalar serializer, including content-based parameters. Preserve other valid reserved characters and existing percent escapes. Live tests cover simple/label/matrix styles and final/non-final placeholders. No greedy route extension is added.
Compatibility decision required: this deliberately changes the raw-slash OPA workaround introduced in #112 (versions 1.1.1–1.1.3). Normative OAS 3.2 path templating still forbids unescaped
/,?, and#; RFC 3986 path grammar also excludes brackets. Applications relying on multiple raw segments must check their server's encoded-slash behavior. Generated-server tests do not establish OPA compatibility. The migration guide now calls this out. This draft proposes a standards correction; it does not implement #113's requested greedy-routing API.Validation: baseline live test failed with 404; 180 new roundtrip assertions pass. Full Julia 1.10.11 suite: 1,368 assertions. Full Julia 1.12.6 suite: 1,418 assertions, including JuliaC trim and all Petstore, Discord, Stripe, and GitHub corpus checks. Independent review found no implementation defect.
References: OAS 3.2 path templating, RFC 3986 path grammar. Related: #113.
Co-authored by Codex