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
b947d600
Commit
b947d600
authored
Nov 11, 2014
by
Phillip Webb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish
parent
7aaf7c65
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
33 additions
and
25 deletions
+33
-25
HttpEncodingAutoConfiguration.java
...boot/autoconfigure/web/HttpEncodingAutoConfiguration.java
+5
-5
HttpEncodingProperties.java
...mework/boot/autoconfigure/web/HttpEncodingProperties.java
+4
-3
HttpMessageConvertersAutoConfiguration.java
...configure/web/HttpMessageConvertersAutoConfiguration.java
+2
-3
HttpEncodingAutoConfigurationTests.java
...autoconfigure/web/HttpEncodingAutoConfigurationTests.java
+19
-13
SampleWebStaticApplicationTests.java
.../test/java/sample/ui/SampleWebStaticApplicationTests.java
+2
-1
WarLauncherTests.java
...ava/org/springframework/boot/loader/WarLauncherTests.java
+1
-0
No files found.
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/HttpEncodingAutoConfiguration.java
View file @
b947d600
...
...
@@ -29,8 +29,8 @@ import org.springframework.core.annotation.Order;
import
org.springframework.web.filter.CharacterEncodingFilter
;
/**
* {@link EnableAutoConfiguration Auto-configuration} for configuring the
*
encoding to use
in web applications.
* {@link EnableAutoConfiguration Auto-configuration} for configuring the
encoding to use
* in web applications.
*
* @author Stephane Nicoll
* @since 1.2.0
...
...
@@ -44,13 +44,13 @@ public class HttpEncodingAutoConfiguration {
@Autowired
private
HttpEncodingProperties
httpEncodingProperties
;
@ConditionalOnMissingBean
@Bean
@Order
(
Ordered
.
HIGHEST_PRECEDENCE
)
@ConditionalOnMissingBean
public
CharacterEncodingFilter
characterEncodingFilter
()
{
CharacterEncodingFilter
filter
=
new
CharacterEncodingFilter
();
filter
.
setEncoding
(
httpEncodingProperties
.
getCharset
().
name
());
filter
.
setForceEncoding
(
httpEncodingProperties
.
isForce
());
filter
.
setEncoding
(
this
.
httpEncodingProperties
.
getCharset
().
name
());
filter
.
setForceEncoding
(
this
.
httpEncodingProperties
.
isForce
());
return
filter
;
}
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/HttpEncodingProperties.java
View file @
b947d600
...
...
@@ -37,12 +37,13 @@ public class HttpEncodingProperties {
private
Charset
charset
=
DEFAULT_CHARSET
;
/**
* To force the encoding to the configured charset typically on HTTP requests and responses.
* To force the encoding to the configured charset typically on HTTP requests and
* responses.
*/
private
boolean
force
=
true
;
public
Charset
getCharset
()
{
return
charset
;
return
this
.
charset
;
}
public
void
setCharset
(
Charset
charset
)
{
...
...
@@ -50,7 +51,7 @@ public class HttpEncodingProperties {
}
public
boolean
isForce
()
{
return
force
;
return
this
.
force
;
}
public
void
setForce
(
boolean
force
)
{
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/HttpMessageConvertersAutoConfiguration.java
View file @
b947d600
...
...
@@ -54,7 +54,6 @@ import com.google.gson.Gson;
@ConditionalOnClass
(
HttpMessageConverter
.
class
)
public
class
HttpMessageConvertersAutoConfiguration
{
@Autowired
(
required
=
false
)
private
final
List
<
HttpMessageConverter
<?>>
converters
=
Collections
.
emptyList
();
...
...
@@ -127,12 +126,12 @@ public class HttpMessageConvertersAutoConfiguration {
protected
static
class
StringHttpMessageConverterConfiguration
{
@Autowired
private
HttpEncodingProperties
httpE
ncodingProperties
;
private
HttpEncodingProperties
e
ncodingProperties
;
@Bean
@ConditionalOnMissingBean
public
StringHttpMessageConverter
stringHttpMessageConverter
()
{
return
new
StringHttpMessageConverter
(
httpE
ncodingProperties
.
getCharset
());
return
new
StringHttpMessageConverter
(
this
.
e
ncodingProperties
.
getCharset
());
}
}
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/HttpEncodingAutoConfigurationTests.java
View file @
b947d600
...
...
@@ -20,7 +20,6 @@ import org.junit.After;
import
org.junit.Rule
;
import
org.junit.Test
;
import
org.junit.rules.ExpectedException
;
import
org.springframework.beans.DirectFieldAccessor
;
import
org.springframework.beans.factory.NoSuchBeanDefinitionException
;
import
org.springframework.boot.test.EnvironmentTestUtils
;
...
...
@@ -53,40 +52,46 @@ public class HttpEncodingAutoConfigurationTests {
@Test
public
void
defaultConfiguration
()
{
load
(
EmptyConfiguration
.
class
);
CharacterEncodingFilter
filter
=
context
.
getBean
(
CharacterEncodingFilter
.
class
);
CharacterEncodingFilter
filter
=
this
.
context
.
getBean
(
CharacterEncodingFilter
.
class
);
assertCharacterEncodingFilter
(
filter
,
"UTF-8"
,
true
);
}
@Test
public
void
disableConfiguration
()
{
load
(
EmptyConfiguration
.
class
,
"spring.http.encoding.enabled:false"
);
thrown
.
expect
(
NoSuchBeanDefinitionException
.
class
);
context
.
getBean
(
CharacterEncodingFilter
.
class
);
this
.
thrown
.
expect
(
NoSuchBeanDefinitionException
.
class
);
this
.
context
.
getBean
(
CharacterEncodingFilter
.
class
);
}
@Test
public
void
customConfiguration
()
{
load
(
EmptyConfiguration
.
class
,
"spring.http.encoding.charset:ISO-8859-15"
,
"spring.http.encoding.force:false"
);
CharacterEncodingFilter
filter
=
context
.
getBean
(
CharacterEncodingFilter
.
class
);
load
(
EmptyConfiguration
.
class
,
"spring.http.encoding.charset:ISO-8859-15"
,
"spring.http.encoding.force:false"
);
CharacterEncodingFilter
filter
=
this
.
context
.
getBean
(
CharacterEncodingFilter
.
class
);
assertCharacterEncodingFilter
(
filter
,
"ISO-8859-15"
,
false
);
}
@Test
public
void
customFilterConfiguration
()
{
load
(
FilterConfiguration
.
class
,
"spring.http.encoding.charset:ISO-8859-15"
,
"spring.http.encoding.force:false"
);
CharacterEncodingFilter
filter
=
context
.
getBean
(
CharacterEncodingFilter
.
class
);
load
(
FilterConfiguration
.
class
,
"spring.http.encoding.charset:ISO-8859-15"
,
"spring.http.encoding.force:false"
);
CharacterEncodingFilter
filter
=
this
.
context
.
getBean
(
CharacterEncodingFilter
.
class
);
assertCharacterEncodingFilter
(
filter
,
"US-ASCII"
,
false
);
}
private
void
assertCharacterEncodingFilter
(
CharacterEncodingFilter
actual
,
String
encoding
,
boolean
forceEncoding
)
{
private
void
assertCharacterEncodingFilter
(
CharacterEncodingFilter
actual
,
String
encoding
,
boolean
forceEncoding
)
{
DirectFieldAccessor
accessor
=
new
DirectFieldAccessor
(
actual
);
assertEquals
(
"Wrong encoding"
,
encoding
,
accessor
.
getPropertyValue
(
"encoding"
));
assertEquals
(
"Wrong forceEncoding flag"
,
forceEncoding
,
accessor
.
getPropertyValue
(
"forceEncoding"
));
assertEquals
(
"Wrong forceEncoding flag"
,
forceEncoding
,
accessor
.
getPropertyValue
(
"forceEncoding"
));
}
private
void
load
(
Class
<?>
config
,
String
...
environment
)
{
this
.
context
=
doLoad
(
new
Class
<?>[]
{
config
},
environment
);
this
.
context
=
doLoad
(
new
Class
<?>[]
{
config
},
environment
);
}
private
AnnotationConfigApplicationContext
doLoad
(
Class
<?>[]
configs
,
...
...
@@ -99,9 +104,9 @@ public class HttpEncodingAutoConfigurationTests {
return
applicationContext
;
}
@Configuration
static
class
EmptyConfiguration
{
}
@Configuration
...
...
@@ -114,6 +119,7 @@ public class HttpEncodingAutoConfigurationTests {
filter
.
setForceEncoding
(
false
);
return
filter
;
}
}
}
spring-boot-samples/spring-boot-sample-web-static/src/test/java/sample/ui/SampleWebStaticApplicationTests.java
View file @
b947d600
...
...
@@ -64,7 +64,8 @@ public class SampleWebStaticApplicationTests {
assertEquals
(
HttpStatus
.
OK
,
entity
.
getStatusCode
());
assertTrue
(
"Wrong body:\n"
+
entity
.
getBody
(),
entity
.
getBody
().
contains
(
"body"
));
assertEquals
(
"Wrong content type:\n"
+
entity
.
getHeaders
().
getContentType
(),
MediaType
.
valueOf
(
"text/css;charset=UTF-8"
),
entity
.
getHeaders
().
getContentType
());
MediaType
.
valueOf
(
"text/css;charset=UTF-8"
),
entity
.
getHeaders
()
.
getContentType
());
}
}
spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/WarLauncherTests.java
View file @
b947d600
...
...
@@ -121,4 +121,5 @@ public class WarLauncherTests {
jarOutputStream
.
close
();
return
warRoot
;
}
}
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