Interface CookieSpec

All Known Implementing Classes:
AbstractCookieSpec, CookieSpecBase, IgnoreSpecSpec, RFC6265CookieSpec, RFC6265CookieSpecBase, RFC6265LaxSpec, RFC6265StrictSpec

public interface CookieSpec
Defines the cookie management specification.

Cookie management specification must define

  • rules of parsing "Set-Cookie" header
  • rules of validation of parsed cookies
  • formatting of "Cookie" header
for a given host, port and path of origin
Since:
4.0
  • Method Summary

    Modifier and Type
    Method
    Description
    List<org.apache.hc.core5.http.Header>
    Create "Cookie" headers for an array of Cookies.
    boolean
    match(Cookie cookie, CookieOrigin origin)
    Determines if a Cookie matches the target location.
    parse(org.apache.hc.core5.http.Header header, CookieOrigin origin)
    Parse the "Set-Cookie" Header into an array of Cookies.
    void
    validate(Cookie cookie, CookieOrigin origin)
    Validate the cookie according to validation rules defined by the cookie specification.
  • Method Details

    • parse

      List<Cookie> parse(org.apache.hc.core5.http.Header header, CookieOrigin origin) throws MalformedCookieException
      Parse the "Set-Cookie" Header into an array of Cookies.

      This method will not perform the validation of the resultant Cookies

      Parameters:
      header - the Set-Cookie received from the server
      origin - details of the cookie origin
      Returns:
      an array of Cookies parsed from the header
      Throws:
      MalformedCookieException - if an exception occurs during parsing
      See Also:
    • validate

      void validate(Cookie cookie, CookieOrigin origin) throws MalformedCookieException
      Validate the cookie according to validation rules defined by the cookie specification.
      Parameters:
      cookie - the Cookie to validate
      origin - details of the cookie origin
      Throws:
      MalformedCookieException - if the cookie is invalid
    • match

      boolean match(Cookie cookie, CookieOrigin origin)
      Determines if a Cookie matches the target location.
      Parameters:
      cookie - the Cookie to be matched
      origin - the target to test against
      Returns:
      true if the cookie should be submitted with a request with given attributes, false otherwise.
    • formatCookies

      List<org.apache.hc.core5.http.Header> formatCookies(List<Cookie> cookies)
      Create "Cookie" headers for an array of Cookies.
      Parameters:
      cookies - the Cookies format into a Cookie header
      Returns:
      a Header for the given Cookies.
      Throws:
      IllegalArgumentException - if an input parameter is illegal