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
6687eb6f
Commit
6687eb6f
authored
Sep 09, 2016
by
Brian Clozel
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6776 from making
* pr/6776: Add spring.http.multipart.resolve-lazily
parents
f0259c82
8a5c026a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
36 additions
and
1 deletion
+36
-1
MultipartAutoConfiguration.java
...rk/boot/autoconfigure/web/MultipartAutoConfiguration.java
+4
-1
MultipartProperties.java
...framework/boot/autoconfigure/web/MultipartProperties.java
+15
-0
MultipartAutoConfigurationTests.java
...ot/autoconfigure/web/MultipartAutoConfigurationTests.java
+16
-0
appendix-application-properties.adoc
...cs/src/main/asciidoc/appendix-application-properties.adoc
+1
-0
No files found.
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/MultipartAutoConfiguration.java
View file @
6687eb6f
...
...
@@ -43,6 +43,7 @@ import org.springframework.web.servlet.DispatcherServlet;
*
* @author Greg Turnquist
* @author Josh Long
* @author Toshiaki Maki
*/
@Configuration
@ConditionalOnClass
({
Servlet
.
class
,
StandardServletMultipartResolver
.
class
,
...
...
@@ -66,7 +67,9 @@ public class MultipartAutoConfiguration {
@Bean
(
name
=
DispatcherServlet
.
MULTIPART_RESOLVER_BEAN_NAME
)
@ConditionalOnMissingBean
(
MultipartResolver
.
class
)
public
StandardServletMultipartResolver
multipartResolver
()
{
return
new
StandardServletMultipartResolver
();
StandardServletMultipartResolver
multipartResolver
=
new
StandardServletMultipartResolver
();
multipartResolver
.
setResolveLazily
(
multipartProperties
.
isResolveLazily
());
return
multipartResolver
;
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/MultipartProperties.java
View file @
6687eb6f
...
...
@@ -42,6 +42,7 @@ import org.springframework.util.StringUtils;
* {@literal String} variants that accept {@literal Kb} or {@literal Mb} suffixes.
*
* @author Josh Long
* @author Toshiaki Maki
* @since 1.1.0
*/
@ConfigurationProperties
(
prefix
=
"spring.http.multipart"
,
ignoreUnknownFields
=
false
)
...
...
@@ -75,6 +76,12 @@ public class MultipartProperties {
*/
private
String
fileSizeThreshold
=
"0"
;
/**
* Whether to resolve the multipart request lazily at the time of file or parameter
* access.
*/
private
boolean
resolveLazily
=
false
;
public
boolean
getEnabled
()
{
return
this
.
enabled
;
}
...
...
@@ -115,6 +122,14 @@ public class MultipartProperties {
this
.
fileSizeThreshold
=
fileSizeThreshold
;
}
public
boolean
isResolveLazily
()
{
return
resolveLazily
;
}
public
void
setResolveLazily
(
boolean
resolveLazily
)
{
this
.
resolveLazily
=
resolveLazily
;
}
/**
* Create a new {@link MultipartConfigElement} using the properties.
* @return a new {@link MultipartConfigElement} configured using there properties
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/MultipartAutoConfigurationTests.java
View file @
6687eb6f
...
...
@@ -40,6 +40,7 @@ import org.springframework.http.client.ClientHttpRequest;
import
org.springframework.http.client.ClientHttpResponse
;
import
org.springframework.http.client.HttpComponentsClientHttpRequestFactory
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.client.RestTemplate
;
...
...
@@ -59,6 +60,7 @@ import static org.mockito.Mockito.mock;
* @author Dave Syer
* @author Josh Long
* @author Ivan Sopov
* @author Toshiaki Maki
*/
public
class
MultipartAutoConfigurationTests
{
...
...
@@ -188,6 +190,20 @@ public class MultipartAutoConfigurationTests {
.
isNotInstanceOf
(
StandardServletMultipartResolver
.
class
);
}
@Test
public
void
configureResolveLazily
()
{
this
.
context
=
new
AnnotationConfigEmbeddedWebApplicationContext
();
EnvironmentTestUtils
.
addEnvironment
(
this
.
context
,
"spring.http.multipart.resolve-lazily=true"
);
this
.
context
.
register
(
ContainerWithNothing
.
class
,
BaseConfiguration
.
class
);
this
.
context
.
refresh
();
StandardServletMultipartResolver
multipartResolver
=
this
.
context
.
getBean
(
StandardServletMultipartResolver
.
class
);
boolean
resolveLazily
=
(
Boolean
)
ReflectionTestUtils
.
getField
(
multipartResolver
,
"resolveLazily"
);
assertThat
(
resolveLazily
).
isTrue
();
}
private
void
verify404
()
throws
Exception
{
HttpComponentsClientHttpRequestFactory
requestFactory
=
new
HttpComponentsClientHttpRequestFactory
();
ClientHttpRequest
request
=
requestFactory
.
createRequest
(
...
...
spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc
View file @
6687eb6f
...
...
@@ -283,6 +283,7 @@ content into your application; rather pick only the properties that you need.
spring.http.multipart.location= # Intermediate location of uploaded files.
spring.http.multipart.max-file-size=1Mb # Max file size. Values can use the suffixed "MB" or "KB" to indicate a Megabyte or Kilobyte size.
spring.http.multipart.max-request-size=10Mb # Max request size. Values can use the suffixed "MB" or "KB" to indicate a Megabyte or Kilobyte size.
spring.http.multipart.resolve-lazily=false # Whether to resolve the multipart request lazily at the time of file or parameter access.
# JACKSON ({sc-spring-boot-autoconfigure}/jackson/JacksonProperties.{sc-ext}[JacksonProperties])
spring.jackson.date-format= # Date format string or a fully-qualified date format class name. For instance `yyyy-MM-dd HH:mm:ss`.
...
...
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