You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
this function is an alternative to `Url::join` which addresses issues
discussed in servo#333, mainly that `Url::join` is sensitive to trailing
slashes is in the `Url`, and if the trailing slash is missing, may
remove segments from the base url and replace them with segments
from the joined `Url`.
There are good reasons for `Url::join` to behave that way, because
that is was is specified in the `Url` standard.
However it's still inconvenient because it often leads to situations
where, a service takes some base-url for some API as a config parameter,
uses `Url::join` to append various routes to it and make requests, and if
a trailing `/` is omitted in a config file, you don't figure it out until
deploying and looking at logs and seeing nonsense requests failing.
In many situations in web development these trailing `/` are not significant
so this is easy to forget and can become just an annoying papercut.
One suggestion in servo#333 was to add an alternative utility function that
isn't sensitive to the trailing `/`'s in this way.
This commit adds such a utility function with tests.
0 commit comments