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
bb55bad1
Commit
bb55bad1
authored
Jan 03, 2020
by
Madhura Bhave
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.2.x'
Closes gh-19529
parents
f94c6d74
c12a3f41
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
76 additions
and
5 deletions
+76
-5
ServerProperties.java
...ingframework/boot/autoconfigure/web/ServerProperties.java
+1
-1
JettyWebServerFactoryCustomizer.java
...nfigure/web/embedded/JettyWebServerFactoryCustomizer.java
+1
-1
NettyWebServerFactoryCustomizer.java
...nfigure/web/embedded/NettyWebServerFactoryCustomizer.java
+1
-1
TomcatWebServerFactoryCustomizer.java
...figure/web/embedded/TomcatWebServerFactoryCustomizer.java
+1
-1
UndertowWebServerFactoryCustomizer.java
...gure/web/embedded/UndertowWebServerFactoryCustomizer.java
+1
-1
JettyWebServerFactoryCustomizerTests.java
...re/web/embedded/JettyWebServerFactoryCustomizerTests.java
+17
-0
NettyWebServerFactoryCustomizerTests.java
...re/web/embedded/NettyWebServerFactoryCustomizerTests.java
+17
-0
TomcatWebServerFactoryCustomizerTests.java
...e/web/embedded/TomcatWebServerFactoryCustomizerTests.java
+20
-0
UndertowWebServerFactoryCustomizerTests.java
...web/embedded/UndertowWebServerFactoryCustomizerTests.java
+17
-0
No files found.
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java
View file @
bb55bad1
...
...
@@ -85,7 +85,7 @@ public class ServerProperties {
/**
* Strategy for handling X-Forwarded-* headers.
*/
private
ForwardHeadersStrategy
forwardHeadersStrategy
=
ForwardHeadersStrategy
.
NONE
;
private
ForwardHeadersStrategy
forwardHeadersStrategy
;
/**
* Value to use for the Server response header (if empty, no header is sent).
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/JettyWebServerFactoryCustomizer.java
View file @
bb55bad1
...
...
@@ -102,7 +102,7 @@ public class JettyWebServerFactoryCustomizer
}
private
boolean
getOrDeduceUseForwardHeaders
()
{
if
(
this
.
serverProperties
.
getForwardHeadersStrategy
()
.
equals
(
ServerProperties
.
ForwardHeadersStrategy
.
NONE
)
)
{
if
(
this
.
serverProperties
.
getForwardHeadersStrategy
()
==
null
)
{
CloudPlatform
platform
=
CloudPlatform
.
getActive
(
this
.
environment
);
return
platform
!=
null
&&
platform
.
isUsingForwardHeaders
();
}
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/NettyWebServerFactoryCustomizer.java
View file @
bb55bad1
...
...
@@ -68,7 +68,7 @@ public class NettyWebServerFactoryCustomizer
}
private
boolean
getOrDeduceUseForwardHeaders
()
{
if
(
this
.
serverProperties
.
getForwardHeadersStrategy
()
.
equals
(
ServerProperties
.
ForwardHeadersStrategy
.
NONE
)
)
{
if
(
this
.
serverProperties
.
getForwardHeadersStrategy
()
==
null
)
{
CloudPlatform
platform
=
CloudPlatform
.
getActive
(
this
.
environment
);
return
platform
!=
null
&&
platform
.
isUsingForwardHeaders
();
}
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/TomcatWebServerFactoryCustomizer.java
View file @
bb55bad1
...
...
@@ -202,7 +202,7 @@ public class TomcatWebServerFactoryCustomizer
}
private
boolean
getOrDeduceUseForwardHeaders
()
{
if
(
this
.
serverProperties
.
getForwardHeadersStrategy
()
.
equals
(
ServerProperties
.
ForwardHeadersStrategy
.
NONE
)
)
{
if
(
this
.
serverProperties
.
getForwardHeadersStrategy
()
==
null
)
{
CloudPlatform
platform
=
CloudPlatform
.
getActive
(
this
.
environment
);
return
platform
!=
null
&&
platform
.
isUsingForwardHeaders
();
}
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/UndertowWebServerFactoryCustomizer.java
View file @
bb55bad1
...
...
@@ -123,7 +123,7 @@ public class UndertowWebServerFactoryCustomizer
}
private
boolean
getOrDeduceUseForwardHeaders
()
{
if
(
this
.
serverProperties
.
getForwardHeadersStrategy
()
.
equals
(
ServerProperties
.
ForwardHeadersStrategy
.
NONE
)
)
{
if
(
this
.
serverProperties
.
getForwardHeadersStrategy
()
==
null
)
{
CloudPlatform
platform
=
CloudPlatform
.
getActive
(
this
.
environment
);
return
platform
!=
null
&&
platform
.
isUsingForwardHeaders
();
}
...
...
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/embedded/JettyWebServerFactoryCustomizerTests.java
View file @
bb55bad1
...
...
@@ -86,6 +86,23 @@ class JettyWebServerFactoryCustomizerTests {
verify
(
factory
).
setUseForwardHeaders
(
false
);
}
@Test
void
forwardHeadersWhenStrategyIsNativeShouldConfigureValve
()
{
this
.
serverProperties
.
setForwardHeadersStrategy
(
ServerProperties
.
ForwardHeadersStrategy
.
NATIVE
);
ConfigurableJettyWebServerFactory
factory
=
mock
(
ConfigurableJettyWebServerFactory
.
class
);
this
.
customizer
.
customize
(
factory
);
verify
(
factory
).
setUseForwardHeaders
(
true
);
}
@Test
void
forwardHeadersWhenStrategyIsNoneShouldNotConfigureValve
()
{
this
.
environment
.
setProperty
(
"DYNO"
,
"-"
);
this
.
serverProperties
.
setForwardHeadersStrategy
(
ServerProperties
.
ForwardHeadersStrategy
.
NONE
);
ConfigurableJettyWebServerFactory
factory
=
mock
(
ConfigurableJettyWebServerFactory
.
class
);
this
.
customizer
.
customize
(
factory
);
verify
(
factory
).
setUseForwardHeaders
(
false
);
}
@Test
void
accessLogCanBeCustomized
()
throws
IOException
{
File
logFile
=
File
.
createTempFile
(
"jetty_log"
,
".log"
);
...
...
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/embedded/NettyWebServerFactoryCustomizerTests.java
View file @
bb55bad1
...
...
@@ -92,6 +92,23 @@ class NettyWebServerFactoryCustomizerTests {
verify
(
factory
).
setUseForwardHeaders
(
true
);
}
@Test
void
forwardHeadersWhenStrategyIsNativeShouldConfigureValve
()
{
this
.
serverProperties
.
setForwardHeadersStrategy
(
ServerProperties
.
ForwardHeadersStrategy
.
NATIVE
);
NettyReactiveWebServerFactory
factory
=
mock
(
NettyReactiveWebServerFactory
.
class
);
this
.
customizer
.
customize
(
factory
);
verify
(
factory
).
setUseForwardHeaders
(
true
);
}
@Test
void
forwardHeadersWhenStrategyIsNoneShouldNotConfigureValve
()
{
this
.
environment
.
setProperty
(
"DYNO"
,
"-"
);
this
.
serverProperties
.
setForwardHeadersStrategy
(
ServerProperties
.
ForwardHeadersStrategy
.
NONE
);
NettyReactiveWebServerFactory
factory
=
mock
(
NettyReactiveWebServerFactory
.
class
);
this
.
customizer
.
customize
(
factory
);
verify
(
factory
).
setUseForwardHeaders
(
false
);
}
@Test
void
setServerConnectionTimeoutAsZero
()
{
setupServerConnectionTimeout
(
Duration
.
ZERO
);
...
...
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/embedded/TomcatWebServerFactoryCustomizerTests.java
View file @
bb55bad1
...
...
@@ -259,6 +259,26 @@ class TomcatWebServerFactoryCustomizerTests {
testRemoteIpValveConfigured
();
}
@Test
void
defaultUseForwardHeaders
()
{
TomcatServletWebServerFactory
factory
=
customizeAndGetFactory
();
assertThat
(
factory
.
getEngineValves
()).
hasSize
(
0
);
}
@Test
void
forwardHeadersWhenStrategyIsNativeShouldConfigureValve
()
{
this
.
serverProperties
.
setForwardHeadersStrategy
(
ServerProperties
.
ForwardHeadersStrategy
.
NATIVE
);
testRemoteIpValveConfigured
();
}
@Test
void
forwardHeadersWhenStrategyIsNoneShouldNotConfigureValve
()
{
this
.
environment
.
setProperty
(
"DYNO"
,
"-"
);
this
.
serverProperties
.
setForwardHeadersStrategy
(
ServerProperties
.
ForwardHeadersStrategy
.
NONE
);
TomcatServletWebServerFactory
factory
=
customizeAndGetFactory
();
assertThat
(
factory
.
getEngineValves
()).
hasSize
(
0
);
}
@Test
void
defaultRemoteIpValve
()
{
// Since 1.1.7 you need to specify at least the protocol
...
...
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/embedded/UndertowWebServerFactoryCustomizerTests.java
View file @
bb55bad1
...
...
@@ -202,6 +202,23 @@ class UndertowWebServerFactoryCustomizerTests {
verify
(
factory
).
setUseForwardHeaders
(
true
);
}
@Test
void
forwardHeadersWhenStrategyIsNativeShouldConfigureValve
()
{
this
.
serverProperties
.
setForwardHeadersStrategy
(
ServerProperties
.
ForwardHeadersStrategy
.
NATIVE
);
ConfigurableUndertowWebServerFactory
factory
=
mock
(
ConfigurableUndertowWebServerFactory
.
class
);
this
.
customizer
.
customize
(
factory
);
verify
(
factory
).
setUseForwardHeaders
(
true
);
}
@Test
void
forwardHeadersWhenStrategyIsNoneShouldNotConfigureValve
()
{
this
.
environment
.
setProperty
(
"DYNO"
,
"-"
);
this
.
serverProperties
.
setForwardHeadersStrategy
(
ServerProperties
.
ForwardHeadersStrategy
.
NONE
);
ConfigurableUndertowWebServerFactory
factory
=
mock
(
ConfigurableUndertowWebServerFactory
.
class
);
this
.
customizer
.
customize
(
factory
);
verify
(
factory
).
setUseForwardHeaders
(
false
);
}
private
<
T
>
T
boundServerOption
(
Option
<
T
>
option
)
{
Builder
builder
=
Undertow
.
builder
();
ConfigurableUndertowWebServerFactory
factory
=
mockFactory
(
builder
);
...
...
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