Class CookieFilter

  • All Implemented Interfaces:
    org.forgerock.http.Filter

    public class CookieFilter
    extends Object
    implements org.forgerock.http.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.

    • 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
      org.forgerock.util.promise.Promise<org.forgerock.http.protocol.Response,​org.forgerock.util.promise.NeverThrowsException> filter​(org.forgerock.services.context.Context context, org.forgerock.http.protocol.Request request, org.forgerock.http.Handler next)  
      org.forgerock.http.util.CaseInsensitiveSet getManaged()
      Returns the set of cookie names that will be managed.
      org.forgerock.http.util.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).
      org.forgerock.http.util.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.
    • Constructor Detail

      • CookieFilter

        public CookieFilter()
    • 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 org.forgerock.http.util.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 org.forgerock.http.util.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 org.forgerock.http.util.CaseInsensitiveSet getManaged()
        Returns the set of cookie names that will be managed.
        Returns:
        the set of managed cookie identifiers.
      • filter

        public org.forgerock.util.promise.Promise<org.forgerock.http.protocol.Response,​org.forgerock.util.promise.NeverThrowsException> filter​(org.forgerock.services.context.Context context,
                                                                                                                                                     org.forgerock.http.protocol.Request request,
                                                                                                                                                     org.forgerock.http.Handler next)
        Specified by:
        filter in interface org.forgerock.http.Filter