org.apache.http.impl.cookie

## Class PublicSuffixFilter

- java.lang.Object
- - org.apache.http.impl.cookie.PublicSuffixFilter

- All Implemented Interfaces:
    CookieAttributeHandler

  Deprecated.
  (4.4) use `PublicSuffixDomainFilter`

      @Deprecated
      public class PublicSuffixFilter
      extends Object
      implements CookieAttributeHandler

  Wraps a CookieAttributeHandler and leverages its match method to never match a suffix from a black list. May be used to provide additional security for cross-site attack types by preventing cookies from apparent domains that are not publicly available. An uptodate list of suffixes can be obtained from publicsuffix.org
  Since:
    4.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PublicSuffixFilter(CookieAttributeHandler wrapped)` Deprecated.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `match(Cookie cookie, CookieOrigin origin)` Deprecated. Never matches if the cookie's domain is from the blacklist.
    `void` | `parse(SetCookie cookie, String value)` Deprecated. Parse the given cookie attribute value and update the corresponding `Cookie` property.
    `void` | `setExceptions(Collection<String> exceptions)` Deprecated. Sets the exceptions from the blacklist.
    `void` | `setPublicSuffixes(Collection<String> suffixes)` Deprecated. Sets the suffix blacklist patterns.
    `void` | `validate(Cookie cookie, CookieOrigin origin)` Deprecated. Peforms cookie validation for the given attribute value.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PublicSuffixFilter

          public PublicSuffixFilter(CookieAttributeHandler wrapped)

      Deprecated.

  - ### Method Detail

    - #### setPublicSuffixes

          public void setPublicSuffixes(Collection<String> suffixes)

      Deprecated.
      Sets the suffix blacklist patterns. A pattern can be "com", "*.jp" TODO add support for patterns like "lib.*.us"
      Parameters:
        `suffixes` -

    - #### setExceptions

          public void setExceptions(Collection<String> exceptions)

      Deprecated.
      Sets the exceptions from the blacklist. Exceptions can not be patterns. TODO add support for patterns
      Parameters:
        `exceptions` -

    - #### match

          public boolean match(Cookie cookie,
                      CookieOrigin origin)

      Deprecated.
      Never matches if the cookie's domain is from the blacklist.
      Specified by:
        `match` in interface `CookieAttributeHandler`
      Parameters:
        `cookie` - `Cookie` to match
        `origin` - the cookie source to match against
      Returns:
        `true` if the match is successful; `false` otherwise

    - #### parse

          public void parse(SetCookie cookie,
                   String value)
                     throws MalformedCookieException

      Deprecated.
      Description copied from interface: `CookieAttributeHandler`
      Parse the given cookie attribute value and update the corresponding `Cookie` property.
      Specified by:
        `parse` in interface `CookieAttributeHandler`
      Parameters:
        `cookie` - `Cookie` to be updated
        `value` - cookie attribute value from the cookie response header
      Throws:
        `MalformedCookieException`

    - #### validate

          public void validate(Cookie cookie,
                      CookieOrigin origin)
                        throws MalformedCookieException

      Deprecated.
      Description copied from interface: `CookieAttributeHandler`
      Peforms cookie validation for the given attribute value.
      Specified by:
        `validate` in interface `CookieAttributeHandler`
      Parameters:
        `cookie` - `Cookie` to validate
        `origin` - the cookie source to validate against
      Throws:
        `MalformedCookieException` - if cookie validation fails for this attribute

Copyright © 1999–2022 The Apache Software Foundation. All rights reserved.