public class CookieFilter extends GenericFilter
suppressed
, relayed
and managed
. If a
cookie is not found in any of the action sets, then a default action is selected.
The default action is controlled by setting the defaultAction
field. The default
action at initialization is to manage all cookies. In the event a cookie appears in more
than one action set, then it will be selected in order of precedence: managed, suppressed,
relayed.
Managed cookies are intercepted by the cookie filter itself and stored in the request
Session
object. The default policy
is to accept all incoming cookies, but
can be changed to others as appropriate.
Modifier and Type | Class and Description |
---|---|
static class |
CookieFilter.Action
Action to be performed for a cookie.
|
static class |
CookieFilter.Heaplet
Creates and initializes a cookie filter in a heap environment.
|
logger, storage
Constructor and Description |
---|
CookieFilter() |
Modifier and Type | Method and Description |
---|---|
void |
filter(Exchange exchange,
Handler next)
Filters the request and/or response of an exchange.
|
CaseInsensitiveSet |
getManaged()
Returns the set of cookie names that will be managed.
|
CaseInsensitiveSet |
getRelayed()
Returns the set of cookie names that will be relayed (Cookie transmitted from the
client to the next handler in the context of a request, and Set-Cookie2 transmitted
from the next handler to the client in the context of a response).
|
CaseInsensitiveSet |
getSuppressed()
Returns the set of cookie names that will be suppressed from the request and from the response.
|
void |
setDefaultAction(CookieFilter.Action defaultAction)
Set the action to perform for cookies that do not match an action set.
|
void |
setPolicy(CookiePolicy policy)
Set the policy for managed cookies.
|
public CookieFilter()
public void setDefaultAction(CookieFilter.Action defaultAction)
CookieFilter.Action.MANAGE
.defaultAction
- the action to perform for cookies that do not match an action set.public void setPolicy(CookiePolicy policy)
CookiePolicy.ACCEPT_ALL
).policy
- the policy for managed cookies.public CaseInsensitiveSet getSuppressed()
public CaseInsensitiveSet getRelayed()
public CaseInsensitiveSet getManaged()
public void filter(Exchange exchange, Handler next) throws HandlerException, IOException
Filter
exchange.request
contains the request to be filtered. To pass the request to the next filter or handler
in the chain, the filter calls next.handle(exchange)
. After this call,
exchange.response
contains the response that can be filtered.
This method may elect not to pass the request to the next filter or handler, and instead
handle the request itself. It can achieve this by merely avoiding a call to
next.handle(exchange)
and creating its own response object the exchange. The
filter is also at liberty to replace a response with another of its own after the call
to next.handle(exchange)
.
Important note: If an existing response exists in the exchange object
and the filter intends to replace it with its own, it must first check to see if the
existing response has an entity, and if it does, must call its close
method in
order to signal that the processing of the response from a remote server is complete.
exchange
- the exchange containing the request and response to filter.next
- the next filter or handler in the chain to handle the exchange.HandlerException
- if an exception occurred handling the exchange.IOException
- if an I/O exception occurred.Copyright © 2014 ForgeRock AS. All rights reserved.