public class FailedRequestFilter extends FilterBase implements CometFilter
Note that parameter parsing may consume the body of an HTTP request, so
caution is needed if the servlet protected by this filter uses
request.getInputStream()
or request.getReader()
calls. In general the risk of breaking a web application by adding this
filter is not so high, because parameter parsing does check content type
of the request before consuming the request body.
sm
Constructor and Description |
---|
FailedRequestFilter() |
Modifier and Type | Method and Description |
---|---|
void |
doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain)
The
doFilter method of the Filter is called by the container
each time a request/response pair is passed through the chain due to a
client request for a resource at the end of the chain. |
void |
doFilterEvent(CometEvent event,
CometFilterChain chain)
The
doFilterEvent method of the CometFilter is called by the container
each time a request/response pair is passed through the chain due
to a client event for a resource at the end of the chain. |
protected Log |
getLogger() |
protected boolean |
isConfigProblemFatal()
Determines if an exception when calling a setter or an unknown
configuration attribute triggers the failure of the this filter which in
turn will prevent the web application from starting.
|
destroy, init
protected Log getLogger()
getLogger
in class FilterBase
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
Filter
doFilter
method of the Filter is called by the container
each time a request/response pair is passed through the chain due to a
client request for a resource at the end of the chain. The FilterChain
passed in to this method allows the Filter to pass on the request and
response to the next entity in the chain.
A typical implementation of this method would follow the following
pattern:-
1. Examine the request
2. Optionally wrap the request object with a custom implementation to
filter content or headers for input filtering
3. Optionally wrap the response object with a custom implementation to
filter content or headers for output filtering
4. a) Either invoke the next entity in the chain using
the FilterChain object (chain.doFilter()
),
4. b) or not pass on the request/response pair to the
next entity in the filter chain to block the request processing
5. Directly set headers on the response after invocation of the next
entity in the filter chain.
doFilter
in interface Filter
request
- The request to processresponse
- The response associated with the requestchain
- Provides access to the next filter in the chain for this
filter to pass the request and response to for further
processingIOException
- if an I/O error occurs during this filter's
processing of the requestServletException
- if the processing fails for any other reasonpublic void doFilterEvent(CometEvent event, CometFilterChain chain) throws IOException, ServletException
CometFilter
doFilterEvent
method of the CometFilter is called by the container
each time a request/response pair is passed through the chain due
to a client event for a resource at the end of the chain. The CometFilterChain passed in to this
method allows the Filter to pass on the event to the next entity in the
chain.
A typical implementation of this method would follow the following pattern:-
1. Examine the request
2. Optionally wrap the request object contained in the event with a custom implementation to
filter content or headers for input filtering and pass a CometEvent instance containing
the wrapped request to the next filter
3. Optionally wrap the response object contained in the event with a custom implementation to
filter content or headers for output filtering and pass a CometEvent instance containing
the wrapped request to the next filter
4. a) Either invoke the next entity in the chain using the CometFilterChain object (chain.doFilterEvent()
),
4. b) or not pass on the request/response pair to the next entity in the filter chain to block the event processing
5. Directly set fields on the response after invocation of the next entity in the filter chain.
doFilterEvent
in interface CometFilter
event
- the event that is being processed. Another event may be passed along the chain.chain
- the chain of CometFilter instances for the current request/responseIOException
- If an I/O error occursServletException
- If an error occurs during event processingprotected boolean isConfigProblemFatal()
FilterBase
isConfigProblemFatal
in class FilterBase
true
if a problem should trigger the failure of this
filter, else false
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.