fix: remove trailing slash to allow deparam with urls that end with a slash#259
Open
m-thompson-code wants to merge 2 commits intomasterfrom
Open
fix: remove trailing slash to allow deparam with urls that end with a slash#259m-thompson-code wants to merge 2 commits intomasterfrom
m-thompson-code wants to merge 2 commits intomasterfrom
Conversation
…r urls ending with slash
Author
|
A workaround to this is to provide doubles for each register: route.register("{page}", { page: "home" })
route.register("{page}/", { page: "home" })
route.register("tasks/{taskId}", { page: "tasks" })
route.register("tasks/{taskId}/", { page: "tasks" })
route.register("progressive-loading/{loadId}", { page: "progressive-loading" })
route.register("progressive-loading/{loadId}/", { page: "progressive-loading" })thanks @bmomberger-bitovi for your suggestion |
Author
|
Something that is missing from this PR is the ability to generate urls given a trailing for example { page: 'first', action: 'second'} should be able to generate a url "/first/second/" instead of "/first/second" To avoid breaking changes, this PR should instead add an option to switch into defaulting into this behavior |
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.
Description
I'm working with a team to perform static site generation that works with
can-route, and currently,can-route'scanRoute_deparammethod doesn't handle urls that end with a trailing slash (/) properly. This has become problematic when trying to useexpressto act as a local static server during development.This PR updates
canRoute_deparamto removing trailing slash (/) from url when trying todeparamfor path variables.Recreate Steps
This allows for urls like: "progressive-loading/moo" which
deparams to:{ "page": "progressive-loading", "loadId": "moo" }When the url is: "progressive-loading/moo/" (has trailing slash
/),deparams to empty object:{}When removing the trailing slash (
/) then attempting todeparamworks as expected.Reason to support urls with trailing slash (
/)When serving static pages using
express, following their basic static server example looks something like this:"/static_files/":