Class DynamicResponseHeaderFilter
java.lang.Object
net.shibboleth.utilities.java.support.net.DynamicResponseHeaderFilter
- All Implemented Interfaces:
javax.servlet.Filter
public class DynamicResponseHeaderFilter extends Object implements javax.servlet.Filter
Implementation of an HTTP servlet
Filter
which supports configurable response header
injection, including via injected functions that can conditionally attach headers.-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
DynamicResponseHeaderFilter.ResponseProxy
An implementation ofHttpServletResponse
which adds the response headers supplied by the outer class. -
Field Summary
-
Constructor Summary
Constructors Constructor Description DynamicResponseHeaderFilter()
Constructor. -
Method Summary
Modifier and Type Method Description void
destroy()
void
doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
void
init(javax.servlet.FilterConfig filterConfig)
void
setCallbacks(Collection<Function<Pair<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse>,Boolean>> theCallbacks)
Set the callbacks to invoke to dynamically attach headers.void
setHeaders(Map<String,String> map)
Set the headers to statically attach to all responses.
-
Field Details
-
headers
Statically defined headers to return. -
callbacks
@Nonnull @NonnullElements private Collection<Function<Pair<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse>,Boolean>> callbacksCallbacks to add headers dynamically.
-
-
Constructor Details
-
DynamicResponseHeaderFilter
public DynamicResponseHeaderFilter()Constructor.
-
-
Method Details
-
setHeaders
Set the headers to statically attach to all responses.- Parameters:
map
- header map
-
setCallbacks
public void setCallbacks(@Nullable @NonnullElements Collection<Function<Pair<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse>,Boolean>> theCallbacks)Set the callbacks to invoke to dynamically attach headers.- Parameters:
theCallbacks
- callback collection
-
init
public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException- Specified by:
init
in interfacejavax.servlet.Filter
- Throws:
javax.servlet.ServletException
-
destroy
public void destroy()- Specified by:
destroy
in interfacejavax.servlet.Filter
-
doFilter
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException- Specified by:
doFilter
in interfacejavax.servlet.Filter
- Throws:
IOException
javax.servlet.ServletException
-