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.
Regarding the following error:
app.use('/basepath', superstatic())
instead ofapp.use(superstatic())
./basepath/something/index.html
→/basepath/something
./basepath
into account when redirecting, and would redirect only to the path below/basepath
. In the example above, that would be to/something
. When the client makes that new request to/something
, express or connect responds404
because superstatic is not mounted on that path.This PR fixes that, by keeping
req.url
andreq.originalUrl
specifically apart for the purpose of redirects.req.url
containing information needed for mapping to a real file within thepublic
directory, andreq.originalUrl
containing information about how the request was actually made by the client. This is used for calculating correct redirects.I updated
files.spec.ts
to run all its static file tests both with superstatic mounted as before, and as a middleware mounted under a base path.