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 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.

  • Constructor Details

    • CookieFilter

      public CookieFilter()
  • Method Details

    • 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 calls next.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.

      Specified by:
      filter in interface Filter
      Parameters:
      context - The request context.
      request - The request.
      next - The next filter or handler in the chain to handle the request.
      Returns:
      A Promise representing the response to be returned to the client.