Class CookieFilter
- java.lang.Object
-
- org.forgerock.openig.filter.CookieFilter
-
- All Implemented Interfaces:
Filter
public class CookieFilter extends Object implements Filter
Suppresses, relays and manages cookies. The names of filtered cookies are stored in one of three action set variables:suppressed
,relayed
andmanaged
. 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 defaultpolicy
is to accept all incoming cookies, but can be changed to others as appropriate.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 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.
-
Constructor Summary
Constructors Constructor Description CookieFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Promise<Response,NeverThrowsException>
filter(Context context, Request request, 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.
-
-
-
Method Detail
-
setDefaultAction
public void setDefaultAction(CookieFilter.Action defaultAction)
Set the action to perform for cookies that do not match an action set. Default:CookieFilter.Action.MANAGE
.- Parameters:
defaultAction
- the action to perform for cookies that do not match an action set.
-
setPolicy
public void setPolicy(CookiePolicy policy)
Set the policy for managed cookies. Default: accept all cookies (CookiePolicy.ACCEPT_ALL
).- Parameters:
policy
- the policy for managed cookies.
-
getSuppressed
public CaseInsensitiveSet getSuppressed()
Returns the set of cookie names that will be suppressed from the request and from the response.- Returns:
- the set of suppressed cookie identifiers.
-
getRelayed
public 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).- Returns:
- the set of relayed cookie identifiers.
-
getManaged
public CaseInsensitiveSet getManaged()
Returns the set of cookie names that will be managed.- Returns:
- the set of managed cookie identifiers.
-
filter
public Promise<Response,NeverThrowsException> filter(Context context, Request request, Handler next)
Description copied from interface:Filter
Filters the request and/or response of an exchange. To pass the request to the next filter or handler in the chain, the filter callsnext.handle(context, request)
.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(context, request)
and creating its own response object. The filter is also at liberty to replace a response with another of its own by intercepting the response returned by the next handler.
-
-