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
cf28f55e
Commit
cf28f55e
authored
Apr 25, 2016
by
Phillip Webb
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #5784 from venilnoronha/issue-5726-fix
* pr/5784: Extract ApplicationContextHeaderFilter
parents
78639fff
0d47abba
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
60 additions
and
29 deletions
+60
-29
EndpointWebMvcAutoConfiguration.java
...ctuate/autoconfigure/EndpointWebMvcAutoConfiguration.java
+2
-29
ApplicationContextHeaderFilter.java
...work/boot/context/web/ApplicationContextHeaderFilter.java
+58
-0
No files found.
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfiguration.java
View file @
cf28f55e
...
...
@@ -16,13 +16,7 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
;
import
java.io.IOException
;
import
javax.servlet.FilterChain
;
import
javax.servlet.Servlet
;
import
javax.servlet.ServletException
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
...
...
@@ -60,6 +54,7 @@ import org.springframework.boot.bind.RelaxedPropertyResolver;
import
org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext
;
import
org.springframework.boot.context.embedded.EmbeddedServletContainerFactory
;
import
org.springframework.boot.context.embedded.EmbeddedWebApplicationContext
;
import
org.springframework.boot.context.web.ApplicationContextHeaderFilter
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.context.ApplicationListener
;
...
...
@@ -77,7 +72,6 @@ import org.springframework.core.env.PropertySource;
import
org.springframework.core.type.AnnotatedTypeMetadata
;
import
org.springframework.core.type.MethodMetadata
;
import
org.springframework.web.context.WebApplicationContext
;
import
org.springframework.web.filter.OncePerRequestFilter
;
import
org.springframework.web.servlet.DispatcherServlet
;
/**
...
...
@@ -93,6 +87,7 @@ import org.springframework.web.servlet.DispatcherServlet;
* @author Andy Wilkinson
* @author Johannes Edmeier
* @author Eddú Meléndez
* @author Venil Noronha
*/
@Configuration
@ConditionalOnClass
({
Servlet
.
class
,
DispatcherServlet
.
class
})
...
...
@@ -239,28 +234,6 @@ public class EndpointWebMvcAutoConfiguration
protected
static
class
EndpointWebMvcConfiguration
{
}
/**
* {@link OncePerRequestFilter} to add the {@literal X-Application-Context} if
* required.
*/
private
static
class
ApplicationContextHeaderFilter
extends
OncePerRequestFilter
{
private
final
ApplicationContext
applicationContext
;
ApplicationContextHeaderFilter
(
ApplicationContext
applicationContext
)
{
this
.
applicationContext
=
applicationContext
;
}
@Override
protected
void
doFilterInternal
(
HttpServletRequest
request
,
HttpServletResponse
response
,
FilterChain
filterChain
)
throws
ServletException
,
IOException
{
response
.
addHeader
(
"X-Application-Context"
,
this
.
applicationContext
.
getId
());
filterChain
.
doFilter
(
request
,
response
);
}
}
/**
* {@link ApplicationListener} to propagate the {@link ContextClosedEvent} from a
* parent to a child.
...
...
spring-boot/src/main/java/org/springframework/boot/context/web/ApplicationContextHeaderFilter.java
0 → 100644
View file @
cf28f55e
/*
* Copyright 2012-2016 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
java.io.IOException
;
import
javax.servlet.FilterChain
;
import
javax.servlet.ServletException
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.web.filter.OncePerRequestFilter
;
/**
* {@link OncePerRequestFilter} to add a {@literal X-Application-Context} header that
* contains the {@link ApplicationContext#getId() ApplicationContext ID}.
*
* @author Phillip Webb
* @author Venil Noronha
* @since 1.4.0
*/
public
class
ApplicationContextHeaderFilter
extends
OncePerRequestFilter
{
/**
* Public constant for {@literal X-Application-Context}.
*/
public
static
final
String
HEADER_NAME
=
"X-Application-Context"
;
private
final
ApplicationContext
applicationContext
;
public
ApplicationContextHeaderFilter
(
ApplicationContext
context
)
{
this
.
applicationContext
=
context
;
}
@Override
protected
void
doFilterInternal
(
HttpServletRequest
request
,
HttpServletResponse
response
,
FilterChain
filterChain
)
throws
ServletException
,
IOException
{
response
.
addHeader
(
HEADER_NAME
,
this
.
applicationContext
.
getId
());
filterChain
.
doFilter
(
request
,
response
);
}
}
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