libp2phttp: don't strip /
suffix when mounting handler
#2552
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.
This allows us to serve
/a/b
when we mount ahttp.ServeMux
handler for/b
on a libp2phost at path/a
.Currently this is a 404 as
/a/b
will reach the handler for/b
with the urlb
as we strip/a/
.The paths on a
ServeMux
have to begin with/
ascleanPath
here will add the prefix/
and then the comparison here will redirect to the cleaned path. This redirect will cause a 404. See the added test and linked issue for details.There is an annoying case though,
closes: #2545