Preserve empty PATH_INFO for mounts #295
Merged
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.
Allow PATH_INFO to remain an empty string when a request is made for the exact prefix name of a mount, e.g. a request to "/settings" for this route:
This ensures that the Rack environment can be used to reconstruct the same path as used for the original request (e.g.
"/settings"instead of"/settings/"for the example above).To ensure compatibility for routers used within mounts, consider an empty string to be equivalent to "/" for the purposes of route matching.
This allows a router to be mounted and have it root route be used when a request is made to the exact mount prefix without any trailing slash:
In the above example, a request to /settings will still serve the route returning "Hello from root".
I believe that this compatibility should allow us to push this out as a patch release rather than wait for a bigger release.
Fixes #290