Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
e482da06
Commit
e482da06
authored
Aug 06, 2015
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'gh-3643'
parents
ffe2e9b6
9fcc8609
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
88 additions
and
1 deletion
+88
-1
WebMvcAutoConfiguration.java
...ework/boot/autoconfigure/web/WebMvcAutoConfiguration.java
+9
-1
WebMvcAutoConfigurationTests.java
.../boot/autoconfigure/web/WebMvcAutoConfigurationTests.java
+28
-0
OrderedHttpPutFormContentFilter.java
...ork/boot/context/web/OrderedHttpPutFormContentFilter.java
+51
-0
No files found.
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.java
View file @
e482da06
...
...
@@ -39,6 +39,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplicat
import
org.springframework.boot.autoconfigure.web.ResourceProperties.Strategy
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.boot.context.web.OrderedHiddenHttpMethodFilter
;
import
org.springframework.boot.context.web.OrderedHttpPutFormContentFilter
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
...
...
@@ -57,6 +58,7 @@ import org.springframework.validation.MessageCodesResolver;
import
org.springframework.web.accept.ContentNegotiationManager
;
import
org.springframework.web.context.request.RequestContextListener
;
import
org.springframework.web.filter.HiddenHttpMethodFilter
;
import
org.springframework.web.filter.HttpPutFormContentFilter
;
import
org.springframework.web.servlet.DispatcherServlet
;
import
org.springframework.web.servlet.LocaleResolver
;
import
org.springframework.web.servlet.View
;
...
...
@@ -105,10 +107,16 @@ public class WebMvcAutoConfiguration {
@Bean
@ConditionalOnMissingBean
(
HiddenHttpMethodFilter
.
class
)
public
HiddenHttpMethodFilter
hiddenHttpMethodFilter
()
{
public
Ordered
HiddenHttpMethodFilter
hiddenHttpMethodFilter
()
{
return
new
OrderedHiddenHttpMethodFilter
();
}
@Bean
@ConditionalOnMissingBean
(
HttpPutFormContentFilter
.
class
)
public
OrderedHttpPutFormContentFilter
httpPutFormContentFilter
()
{
return
new
OrderedHttpPutFormContentFilter
();
}
// Defined as a nested config to ensure WebMvcConfigurerAdapter is not read when not
// on the classpath
@Configuration
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/WebMvcAutoConfigurationTests.java
View file @
e482da06
...
...
@@ -41,6 +41,7 @@ import org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebAppl
import
org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizerBeanPostProcessor
;
import
org.springframework.boot.context.embedded.EmbeddedServletContainerFactory
;
import
org.springframework.boot.context.embedded.MockEmbeddedServletContainerFactory
;
import
org.springframework.boot.context.web.OrderedHttpPutFormContentFilter
;
import
org.springframework.boot.test.EnvironmentTestUtils
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -51,6 +52,7 @@ import org.springframework.mock.web.MockHttpServletRequest;
import
org.springframework.test.util.ReflectionTestUtils
;
import
org.springframework.util.ReflectionUtils
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.filter.HttpPutFormContentFilter
;
import
org.springframework.web.servlet.HandlerAdapter
;
import
org.springframework.web.servlet.HandlerMapping
;
import
org.springframework.web.servlet.LocaleResolver
;
...
...
@@ -441,6 +443,22 @@ public class WebMvcAutoConfigurationTests {
assertEquals
(
123456L
,
actual
);
}
@Test
public
void
httpPutFormContentFilterIsAutoConfigured
()
{
load
();
assertThat
(
this
.
context
.
getBeansOfType
(
OrderedHttpPutFormContentFilter
.
class
)
.
size
(),
is
(
equalTo
(
1
)));
}
@Test
public
void
httpPutFormContentFilterCanBeOverridden
()
{
load
(
CustomHttpPutFormContentFilter
.
class
);
assertThat
(
this
.
context
.
getBeansOfType
(
OrderedHttpPutFormContentFilter
.
class
)
.
size
(),
is
(
equalTo
(
0
)));
assertThat
(
this
.
context
.
getBeansOfType
(
HttpPutFormContentFilter
.
class
).
size
(),
is
(
equalTo
(
1
)));
}
@SuppressWarnings
(
"unchecked"
)
private
void
load
(
Class
<?>
config
,
String
...
environment
)
{
this
.
context
=
new
AnnotationConfigEmbeddedWebApplicationContext
();
...
...
@@ -552,4 +570,14 @@ public class WebMvcAutoConfigurationTests {
}
@Configuration
static
class
CustomHttpPutFormContentFilter
{
@Bean
public
HttpPutFormContentFilter
customHttpPutFormContentFilter
()
{
return
new
HttpPutFormContentFilter
();
}
}
}
spring-boot/src/main/java/org/springframework/boot/context/web/OrderedHttpPutFormContentFilter.java
0 → 100644
View file @
e482da06
/*
* Copyright 2012-2015 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
springframework
.
boot
.
context
.
web
;
import
org.springframework.core.Ordered
;
import
org.springframework.web.filter.HttpPutFormContentFilter
;
/**
* {@link HttpPutFormContentFilter} that also implements {@link Ordered}.
*
* @author Joao Pedro Evangelista
* @since 1.3.0
*/
public
class
OrderedHttpPutFormContentFilter
extends
HttpPutFormContentFilter
implements
Ordered
{
/**
* Higher order to ensure the filter is applied before Spring Security.
*/
public
static
final
int
DEFAULT_ORDER
=
Ordered
.
HIGHEST_PRECEDENCE
+
10
;
private
int
order
=
DEFAULT_ORDER
;
@Override
public
int
getOrder
()
{
return
this
.
order
;
}
/**
* Set the order for this filter.
* @param order the order to set
*/
public
void
setOrder
(
int
order
)
{
this
.
order
=
order
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment