Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
d10134b5
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d10134b5
编写于
5月 31, 2016
作者:
R
Rossen Stoyanchev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Polish
上级
54f84cbd
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
35 addition
and
33 deletion
+35
-33
spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/MockMvcWebConnection.java
...ework/test/web/servlet/htmlunit/MockMvcWebConnection.java
+35
-33
未找到文件。
spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/MockMvcWebConnection.java
浏览文件 @
d10134b5
...
...
@@ -65,6 +65,7 @@ public final class MockMvcWebConnection implements WebConnection {
private
WebClient
webClient
;
/**
* Create a new instance that assumes the context path of the application
* is {@code ""} (i.e., the root context).
...
...
@@ -127,6 +128,27 @@ public final class MockMvcWebConnection implements WebConnection {
this
(
mockMvc
,
new
WebClient
(),
contextPath
);
}
/**
* Validate the supplied {@code contextPath}.
* <p>If the value is not {@code null}, it must conform to
* {@link javax.servlet.http.HttpServletRequest#getContextPath()} which
* states that it can be an empty string and otherwise must start with
* a "/" character and not end with a "/" character.
* @param contextPath the path to validate
*/
static
void
validateContextPath
(
String
contextPath
)
{
if
(
contextPath
==
null
||
""
.
equals
(
contextPath
))
{
return
;
}
if
(!
contextPath
.
startsWith
(
"/"
))
{
throw
new
IllegalArgumentException
(
"contextPath '"
+
contextPath
+
"' must start with '/'."
);
}
if
(
contextPath
.
endsWith
(
"/"
))
{
throw
new
IllegalArgumentException
(
"contextPath '"
+
contextPath
+
"' must not end with '/'."
);
}
}
public
void
setWebClient
(
WebClient
webClient
)
{
Assert
.
notNull
(
webClient
,
"WebClient must not be null"
);
this
.
webClient
=
webClient
;
...
...
@@ -150,12 +172,24 @@ public final class MockMvcWebConnection implements WebConnection {
return
new
MockWebResponseBuilder
(
startTime
,
webRequest
,
httpServletResponse
).
build
();
}
private
MockHttpServletResponse
getResponse
(
RequestBuilder
requestBuilder
)
throws
IOException
{
ResultActions
resultActions
;
try
{
resultActions
=
this
.
mockMvc
.
perform
(
requestBuilder
);
}
catch
(
Exception
ex
)
{
throw
new
IOException
(
ex
);
}
return
resultActions
.
andReturn
().
getResponse
();
}
private
void
storeCookies
(
WebRequest
webRequest
,
javax
.
servlet
.
http
.
Cookie
[]
cookies
)
{
if
(
cookies
==
null
)
{
return
;
}
Date
now
=
new
Date
();
CookieManager
cookieManager
=
webClient
.
getCookieManager
();
CookieManager
cookieManager
=
this
.
webClient
.
getCookieManager
();
for
(
javax
.
servlet
.
http
.
Cookie
cookie
:
cookies
)
{
if
(
cookie
.
getDomain
()
==
null
)
{
cookie
.
setDomain
(
webRequest
.
getUrl
().
getHost
());
...
...
@@ -171,40 +205,8 @@ public final class MockMvcWebConnection implements WebConnection {
}
}
private
MockHttpServletResponse
getResponse
(
RequestBuilder
requestBuilder
)
throws
IOException
{
ResultActions
resultActions
;
try
{
resultActions
=
this
.
mockMvc
.
perform
(
requestBuilder
);
}
catch
(
Exception
ex
)
{
throw
new
IOException
(
ex
);
}
return
resultActions
.
andReturn
().
getResponse
();
}
@Override
public
void
close
()
{
}
/**
* Validate the supplied {@code contextPath}.
* <p>If the value is not {@code null}, it must conform to
* {@link javax.servlet.http.HttpServletRequest#getContextPath()} which
* states that it can be an empty string and otherwise must start with
* a "/" character and not end with a "/" character.
* @param contextPath the path to validate
*/
static
void
validateContextPath
(
String
contextPath
)
{
if
(
contextPath
==
null
||
""
.
equals
(
contextPath
))
{
return
;
}
if
(!
contextPath
.
startsWith
(
"/"
))
{
throw
new
IllegalArgumentException
(
"contextPath '"
+
contextPath
+
"' must start with '/'."
);
}
if
(
contextPath
.
endsWith
(
"/"
))
{
throw
new
IllegalArgumentException
(
"contextPath '"
+
contextPath
+
"' must not end with '/'."
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录