Package com.wavemaker.commons.web.filter
Class RequestTrackingFilter
- java.lang.Object
-
- org.springframework.web.filter.GenericFilterBean
-
- org.springframework.web.filter.DelegatingFilterProxy
-
- com.wavemaker.commons.web.filter.RequestTrackingFilter
-
- All Implemented Interfaces:
javax.servlet.Filter,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean,org.springframework.context.EnvironmentAware,org.springframework.core.env.EnvironmentCapable,org.springframework.web.context.ServletContextAware
public class RequestTrackingFilter extends org.springframework.web.filter.DelegatingFilterProxy
-
-
Field Summary
Fields Modifier and Type Field Description static charREQUEST_ID_SEPARATOR
-
Constructor Summary
Constructors Constructor Description RequestTrackingFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddServerTimingMetrics(ServerTimingMetric serverTimingMetric)voidaddServerTimingMetricsForSubRequest(org.springframework.http.HttpHeaders httpHeaders)voiddestroy()voiddoFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)<T> TexecuteInSubRequestScope(java.lang.String subRequestScope, java.util.function.Supplier<T> supplier)<T> TexecuteNewSubRequest(java.lang.String context, java.util.function.Function<java.lang.String,T> function)java.lang.StringgenerateNewSubRequestId(java.lang.String context)java.lang.StringgetRequestTrackingHeaderName()java.lang.StringgetRequestTrackingIdPrefix()java.lang.RunnablegetRunnableInSubRequestScope(java.lang.Runnable runnable)voidsetRequestTrackingHeaderName(java.lang.String requestTrackingHeaderName)voidsetRequestTrackingIdPrefix(java.lang.String requestTrackingIdPrefix)voidsetServerTimingsEnabled(boolean serverTimingsEnabled)-
Methods inherited from class org.springframework.web.filter.DelegatingFilterProxy
destroyDelegate, findWebApplicationContext, getContextAttribute, getTargetBeanName, initDelegate, initFilterBean, invokeDelegate, isTargetFilterLifecycle, setContextAttribute, setTargetBeanName, setTargetFilterLifecycle
-
-
-
-
Field Detail
-
REQUEST_ID_SEPARATOR
public static final char REQUEST_ID_SEPARATOR
- See Also:
- Constant Field Values
-
-
Method Detail
-
doFilter
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException- Specified by:
doFilterin interfacejavax.servlet.Filter- Overrides:
doFilterin classorg.springframework.web.filter.DelegatingFilterProxy- Throws:
java.io.IOExceptionjavax.servlet.ServletException
-
destroy
public void destroy()
- Specified by:
destroyin interfaceorg.springframework.beans.factory.DisposableBean- Specified by:
destroyin interfacejavax.servlet.Filter- Overrides:
destroyin classorg.springframework.web.filter.DelegatingFilterProxy
-
generateNewSubRequestId
public java.lang.String generateNewSubRequestId(java.lang.String context)
-
getRunnableInSubRequestScope
public java.lang.Runnable getRunnableInSubRequestScope(java.lang.Runnable runnable)
-
getRequestTrackingIdPrefix
public java.lang.String getRequestTrackingIdPrefix()
-
setRequestTrackingIdPrefix
public void setRequestTrackingIdPrefix(java.lang.String requestTrackingIdPrefix)
-
getRequestTrackingHeaderName
public java.lang.String getRequestTrackingHeaderName()
-
setRequestTrackingHeaderName
public void setRequestTrackingHeaderName(java.lang.String requestTrackingHeaderName)
-
executeNewSubRequest
public <T> T executeNewSubRequest(java.lang.String context, java.util.function.Function<java.lang.String,T> function)
-
executeInSubRequestScope
public <T> T executeInSubRequestScope(java.lang.String subRequestScope, java.util.function.Supplier<T> supplier)
-
addServerTimingMetricsForSubRequest
public void addServerTimingMetricsForSubRequest(org.springframework.http.HttpHeaders httpHeaders)
-
addServerTimingMetrics
public void addServerTimingMetrics(ServerTimingMetric serverTimingMetric)
-
setServerTimingsEnabled
public void setServerTimingsEnabled(boolean serverTimingsEnabled)
-
-