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