Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CoCo_Code_Op2
next.js
提交
8d304ed7
N
next.js
项目概览
CoCo_Code_Op2
/
next.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
next.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
8d304ed7
编写于
9月 07, 2018
作者:
T
Tim Neutkens
提交者:
GitHub
9月 07, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make non-existent routes under `/_next` return 404 (#5120)
Fixes #5114 Also adds a test for it.
上级
7c0de2c3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
17 addition
and
1 deletion
+17
-1
server/index.js
server/index.js
+5
-0
test/integration/basic/test/rendering.js
test/integration/basic/test/rendering.js
+6
-1
test/integration/production/test/index.test.js
test/integration/production/test/index.test.js
+6
-0
未找到文件。
server/index.js
浏览文件 @
8d304ed7
...
...
@@ -180,6 +180,11 @@ export default class Server {
}
}
// This path is needed because `render()` does a check for `/_next` and the calls the routing again
routes
[
'
/_next/:path*
'
]
=
async
(
req
,
res
,
params
,
parsedUrl
)
=>
{
await
this
.
render404
(
req
,
res
,
parsedUrl
)
}
// 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.
...
...
test/integration/basic/test/rendering.js
浏览文件 @
8d304ed7
...
...
@@ -2,7 +2,7 @@
import
cheerio
from
'
cheerio
'
export
default
function
({
app
},
suiteName
,
render
,
fetch
)
{
export
default
function
({
app
},
suiteName
,
render
,
fetch
,
appPort
)
{
async
function
get
$
(
path
,
query
)
{
const
html
=
await
render
(
path
,
query
)
return
cheerio
.
load
(
html
)
...
...
@@ -123,6 +123,11 @@ export default function ({ app }, suiteName, render, fetch) {
expect
(
res
.
headers
.
get
(
'
Content-Type
'
)).
toMatch
(
'
text/html; charset=iso-8859-2
'
)
})
test
(
'
should render 404 for _next routes that do not exist
'
,
async
()
=>
{
const
res
=
await
fetch
(
'
/_next/abcdef
'
)
expect
(
res
.
status
).
toBe
(
404
)
})
test
(
'
allows to import .json files
'
,
async
()
=>
{
const
html
=
await
render
(
'
/json
'
)
expect
(
html
.
includes
(
'
Zeit
'
)).
toBeTruthy
()
...
...
test/integration/production/test/index.test.js
浏览文件 @
8d304ed7
...
...
@@ -54,6 +54,12 @@ describe('Production Usage', () => {
expect
(
res2
.
status
).
toBe
(
304
)
})
it
(
'
should render 404 for _next routes that do not exist
'
,
async
()
=>
{
const
url
=
`http://localhost:
${
appPort
}
/_next/abcdef`
const
res
=
await
fetch
(
url
)
expect
(
res
.
status
).
toBe
(
404
)
})
it
(
'
should set Cache-Control header
'
,
async
()
=>
{
const
buildId
=
readFileSync
(
join
(
__dirname
,
'
../.next/BUILD_ID
'
),
'
utf8
'
)
const
buildManifest
=
require
(
join
(
'
../.next
'
,
BUILD_MANIFEST
))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录