Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
hk581
spring-framework
提交
08ddd1b3
S
spring-framework
项目概览
hk581
/
spring-framework
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
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,发现更多精彩内容 >>
提交
08ddd1b3
编写于
5月 04, 2016
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
AbstractRequestLoggingFilter ignores non-available query string
Issue: SPR-14244
上级
8c139ef4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
32 addition
and
19 deletion
+32
-19
spring-web/src/main/java/org/springframework/web/filter/AbstractRequestLoggingFilter.java
...ingframework/web/filter/AbstractRequestLoggingFilter.java
+5
-2
spring-web/src/test/java/org/springframework/web/filter/RequestLoggingFilterTests.java
...springframework/web/filter/RequestLoggingFilterTests.java
+27
-17
未找到文件。
spring-web/src/main/java/org/springframework/web/filter/AbstractRequestLoggingFilter.java
浏览文件 @
08ddd1b3
/*
* Copyright 2002-201
5
the original author or authors.
* Copyright 2002-201
6
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -255,7 +255,10 @@ public abstract class AbstractRequestLoggingFilter extends OncePerRequestFilter
msg
.
append
(
prefix
);
msg
.
append
(
"uri="
).
append
(
request
.
getRequestURI
());
if
(
isIncludeQueryString
())
{
msg
.
append
(
'?'
).
append
(
request
.
getQueryString
());
String
queryString
=
request
.
getQueryString
();
if
(
queryString
!=
null
)
{
msg
.
append
(
'?'
).
append
(
queryString
);
}
}
if
(
isIncludeClientInfo
())
{
String
client
=
request
.
getRemoteAddr
();
...
...
spring-web/src/test/java/org/springframework/web/filter/RequestLoggingFilterTests.java
浏览文件 @
08ddd1b3
/*
* Copyright 2002-201
4
the original author or authors.
* Copyright 2002-201
6
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -24,7 +24,6 @@ import javax.servlet.ServletResponse;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.springframework.mock.web.test.MockHttpServletRequest
;
...
...
@@ -34,19 +33,14 @@ import org.springframework.util.FileCopyUtils;
import
static
org
.
junit
.
Assert
.*;
/**
* Test for {@link AbstractRequestLoggingFilter} and sub
classes.
* Test for {@link AbstractRequestLoggingFilter} and subclasses.
*
* @author Arjen Poutsma
* @author Juergen Hoeller
*/
public
class
RequestLoggingFilterTests
{
private
MyRequestLoggingFilter
filter
;
@Before
public
void
createFilter
()
throws
Exception
{
filter
=
new
MyRequestLoggingFilter
();
}
private
final
MyRequestLoggingFilter
filter
=
new
MyRequestLoggingFilter
();
@Test
...
...
@@ -70,23 +64,39 @@ public class RequestLoggingFilterTests {
}
@Test
public
void
queryString
()
throws
Exception
{
public
void
queryString
Included
()
throws
Exception
{
filter
.
setIncludeQueryString
(
true
);
final
MockHttpServletRequest
request
=
new
MockHttpServletRequest
(
"POST"
,
"/hotels"
);
MockHttpServletRequest
request
=
new
MockHttpServletRequest
(
"POST"
,
"/hotels"
);
MockHttpServletResponse
response
=
new
MockHttpServletResponse
();
request
.
setQueryString
(
"booking=42"
);
FilterChain
filterChain
=
new
NoOpFilterChain
();
filter
.
doFilter
(
request
,
response
,
filterChain
);
assertNotNull
(
filter
.
beforeRequestMessage
);
assertTrue
(
filter
.
beforeRequestMessage
.
contains
(
"[uri=/hotels?booking=42]"
));
assertNotNull
(
filter
.
afterRequestMessage
);
assertTrue
(
filter
.
afterRequestMessage
.
contains
(
"[uri=/hotels?booking=42]"
));
}
@Test
public
void
noQueryStringAvailable
()
throws
Exception
{
filter
.
setIncludeQueryString
(
true
);
MockHttpServletRequest
request
=
new
MockHttpServletRequest
(
"POST"
,
"/hotels"
);
MockHttpServletResponse
response
=
new
MockHttpServletResponse
();
FilterChain
filterChain
=
new
NoOpFilterChain
();
filter
.
doFilter
(
request
,
response
,
filterChain
);
assertNotNull
(
filter
.
beforeRequestMessage
);
assertTrue
(
filter
.
beforeRequestMessage
.
contains
(
"
uri=/hotels?booking=42
"
));
assertTrue
(
filter
.
beforeRequestMessage
.
contains
(
"
[uri=/hotels]
"
));
assertNotNull
(
filter
.
afterRequestMessage
);
assertTrue
(
filter
.
afterRequestMessage
.
contains
(
"
uri=/hotels?booking=42
"
));
assertTrue
(
filter
.
afterRequestMessage
.
contains
(
"
[uri=/hotels]
"
));
}
@Test
...
...
@@ -98,8 +108,8 @@ public class RequestLoggingFilterTests {
final
byte
[]
requestBody
=
"Hello World"
.
getBytes
(
"UTF-8"
);
request
.
setContent
(
requestBody
);
FilterChain
filterChain
=
new
FilterChain
()
{
FilterChain
filterChain
=
new
FilterChain
()
{
@Override
public
void
doFilter
(
ServletRequest
filterRequest
,
ServletResponse
filterResponse
)
throws
IOException
,
ServletException
{
...
...
@@ -124,8 +134,8 @@ public class RequestLoggingFilterTests {
final
String
requestBody
=
"Hello World"
;
request
.
setContent
(
requestBody
.
getBytes
(
"UTF-8"
));
FilterChain
filterChain
=
new
FilterChain
()
{
FilterChain
filterChain
=
new
FilterChain
()
{
@Override
public
void
doFilter
(
ServletRequest
filterRequest
,
ServletResponse
filterResponse
)
throws
IOException
,
ServletException
{
...
...
@@ -151,8 +161,8 @@ public class RequestLoggingFilterTests {
final
byte
[]
requestBody
=
"Hello World"
.
getBytes
(
"UTF-8"
);
request
.
setContent
(
requestBody
);
FilterChain
filterChain
=
new
FilterChain
()
{
FilterChain
filterChain
=
new
FilterChain
()
{
@Override
public
void
doFilter
(
ServletRequest
filterRequest
,
ServletResponse
filterResponse
)
throws
IOException
,
ServletException
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录