1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00

Fix the route redirect error when we've multiple path params. (#2652)

For an example, with a URL like: /static/data/hello.txt
This commit is contained in:
Arunoda Susiripala 2017-07-26 22:31:49 +05:30 committed by GitHub
parent 84de7f9397
commit 10241fe610
3 changed files with 7 additions and 2 deletions

View file

@ -200,17 +200,19 @@ export default class Server {
},
// It's very important keep this route's param optional.
// (but it should support as many as params, seperated by '/')
// Othewise this will lead to a pretty simple DOS attack.
// See more: https://github.com/zeit/next.js/issues/2617
'/_next/:path?': async (req, res, params) => {
'/_next/:path*': async (req, res, params) => {
const p = join(__dirname, '..', 'client', ...(params.path || []))
await this.serveStatic(req, res, p)
},
// It's very important keep this route's param optional.
// (but it should support as many as params, seperated by '/')
// Othewise this will lead to a pretty simple DOS attack.
// See more: https://github.com/zeit/next.js/issues/2617
'/static/:path?': async (req, res, params) => {
'/static/:path*': async (req, res, params) => {
const p = join(this.dir, 'static', ...(params.path || []))
await this.serveStatic(req, res, p)
}

View file

@ -0,0 +1 @@
item

View file

@ -107,6 +107,8 @@ describe('Production Usage', () => {
// See: https://github.com/zeit/next.js/issues/2617
await renderViaHTTP(appPort, '/_next/')
await renderViaHTTP(appPort, '/static/')
const data = await renderViaHTTP(appPort, '/static/data/item.txt')
expect(data).toBe('item')
})
})