Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CoCo_Code_Op2
next.js
提交
c3d91491
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,发现更多精彩内容 >>
未验证
提交
c3d91491
编写于
2月 24, 2020
作者:
J
Joe Haddad
提交者:
GitHub
2月 24, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix Double URL Encoding for Serverless (#10663)
上级
c3f11c20
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
28 addition
and
3 deletion
+28
-3
packages/next/build/webpack/loaders/next-serverless-loader.ts
...ages/next/build/webpack/loaders/next-serverless-loader.ts
+1
-1
test/integration/serverless/pages/catchall/[...slug].js
test/integration/serverless/pages/catchall/[...slug].js
+5
-0
test/integration/serverless/test/index.test.js
test/integration/serverless/test/index.test.js
+22
-2
未找到文件。
packages/next/build/webpack/loaders/next-serverless-loader.ts
浏览文件 @
c3d91491
...
...
@@ -301,7 +301,7 @@ const nextServerlessLoader: loader.Loader = function() {
return Object.keys(obj).reduce(
(prev, key) =>
Object.assign(prev, {
[key]:
encodeURIComponent(obj[key])
[key]:
obj[key]
}),
{}
);
...
...
test/integration/serverless/pages/catchall/[...slug].js
0 → 100644
浏览文件 @
c3d91491
const
SlugPage
=
({
query
})
=>
<
div
>
{
JSON
.
stringify
(
query
)}
<
/div
>
SlugPage
.
getInitialProps
=
({
query
})
=>
({
query
})
export
default
SlugPage
test/integration/serverless/test/index.test.js
浏览文件 @
c3d91491
...
...
@@ -251,10 +251,30 @@ describe('Serverless', () => {
expect
(
data
.
query
).
toEqual
({
slug
:
paramRaw
})
})
it
(
'
should have the correct query string for a
spr
route
'
,
async
()
=>
{
it
(
'
should have the correct query string for a
now
route
'
,
async
()
=>
{
const
paramRaw
=
'
test % 123
'
const
html
=
await
fetchViaHTTP
(
appPort
,
`/dr/[slug]`
,
''
,
{
headers
:
{
'
x-now-route-matches
'
:
qs
.
stringify
({
1
:
paramRaw
})
},
headers
:
{
'
x-now-route-matches
'
:
qs
.
stringify
({
1
:
encodeURIComponent
(
paramRaw
),
}),
},
}).
then
(
res
=>
res
.
text
())
const
$
=
cheerio
.
load
(
html
)
const
data
=
JSON
.
parse
(
$
(
'
#__NEXT_DATA__
'
).
html
())
expect
(
data
.
query
).
toEqual
({
slug
:
paramRaw
})
})
it
(
'
should have the correct query string for a catch all now route
'
,
async
()
=>
{
const
paramRaw
=
[
'
nested % 1
'
,
'
nested/2
'
]
const
html
=
await
fetchViaHTTP
(
appPort
,
`/catchall/[...slug]`
,
''
,
{
headers
:
{
'
x-now-route-matches
'
:
qs
.
stringify
({
1
:
paramRaw
.
map
(
e
=>
encodeURIComponent
(
e
)).
join
(
'
/
'
),
}),
},
}).
then
(
res
=>
res
.
text
())
const
$
=
cheerio
.
load
(
html
)
const
data
=
JSON
.
parse
(
$
(
'
#__NEXT_DATA__
'
).
html
())
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录