Allows users to modify the request and the response. Filters are chained, every filter must
invoke chain.next() to pass the request to the next filter.
request the request that may be modified
chain filter chain to pass the request and get the response to and from the next filter
- the response. Must not be null