url
url copied to clipboard
add alternative methods to handle a basepath like "some/path/"
Consider an application that is not in the root of a site e.g.
example.com/some/path/
In this case we would pass the basepath to the app via flags. e.g
flags =
{
basePath = "some/path/"
}
I attempted to parse this like:
matchers : Parser (Route -> a) a
matchers =
Parser.s flags.basePath </> Parser.oneOf
[ Parser.map Home Parser.top
, Parser.map About (Parser.s "about")
]
But Parser.s
won't parse the /
.
Example here https://ellie-app.com/3grXTSD4Bkxa1
It would be great to have something to parse a basepath e.g.
matchers : Parser (Route -> a) a
matchers =
Parser.base flags.basePath </> Parser.oneOf
[ Parser.map Home Parser.top
, Parser.map About (Parser.s "about")
]
Thanks
One workaround is to remove the basepath manually before parsing e.g.
urlWithoutBasePath =
{ url |
path = String.replace flags.basePath "" url.path
}
That workaround completely ignores the problem of percent-encoding.
I'm experiencing this issue as well on a github-pages site
That workaround completely ignores the problem of percent-encoding.
...Then percent-encode the base path first.