NetscapeDraftSpec (HttpClient Library (Version 3.1))
Date: 2016-03-09

org.apache.commons.httpclient.cookie

## Class NetscapeDraftSpec

- java.lang.Object
- - org.apache.commons.httpclient.cookie.CookieSpecBase
  - - org.apache.commons.httpclient.cookie.NetscapeDraftSpec

- All Implemented Interfaces:
    CookieSpec

      public class NetscapeDraftSpec
      extends CookieSpecBase

  Netscape cookie draft specific cookie management functions

  Since:
    2.0
  Author:
    B.C. Holmes, Park, Sung-Gu, Doug Sale, Rod Waldhoff, dIon Gillard, Sean C. Sullivan, John Evans, Marc A. Saegesser, Oleg Kalnichevski, Mike Bowler

- - ### Field Summary

    - ### Fields inherited from class org.apache.commons.httpclient.cookie.CookieSpecBase

      `LOG`

    - ### Fields inherited from interface org.apache.commons.httpclient.cookie.CookieSpec

      `PATH_DELIM, PATH_DELIM_CHAR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NetscapeDraftSpec()` Default constructor

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `domainMatch(java.lang.String host, java.lang.String domain)` Performs domain-match as described in the Netscape draft.
    `Cookie[]` | `parse(java.lang.String host, int port, java.lang.String path, boolean secure, java.lang.String header)` Parses the Set-Cookie value into an array of `Cookie`s.
    `void` | `parseAttribute(NameValuePair attribute, Cookie cookie)` Parse the cookie attribute and update the corresponsing `Cookie` properties as defined by the Netscape draft specification
    `void` | `validate(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie cookie)` Performs Netscape draft compliant `Cookie` validation

    - ### Methods inherited from class org.apache.commons.httpclient.cookie.CookieSpecBase

      `formatCookie, formatCookieHeader, formatCookieHeader, formatCookies, getValidDateFormats, match, match, parse, pathMatch, setValidDateFormats`

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

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

- - ### Constructor Detail

    - #### NetscapeDraftSpec

          public NetscapeDraftSpec()

      Default constructor

  - ### Method Detail

    - #### parse

          public Cookie[] parse(java.lang.String host,
                       int port,
                       java.lang.String path,
                       boolean secure,
                       java.lang.String header)
                         throws MalformedCookieException

      Parses the Set-Cookie value into an array of `Cookie`s.

      Syntax of the Set-Cookie HTTP Response Header:

      This is the format a CGI script would use to add to the HTTP headers a new piece of data which is to be stored by the client for later retrieval.

            Set-Cookie: NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN_NAME; secure

      Please note that Netscape draft specification does not fully conform to the HTTP header format. Netscape draft does not specify whether multiple cookies may be sent in one header. Hence, comma character may be present in unquoted cookie value or unquoted parameter value.

      Specified by:
        `parse` in interface `CookieSpec`
      Overrides:
        `parse` in class `CookieSpecBase`
      Parameters:
        `host` - the host from which the `Set-Cookie` value was received
        `port` - the port from which the `Set-Cookie` value was received
        `path` - the path from which the `Set-Cookie` value was received
        `secure` - `true` when the `Set-Cookie` value was received over secure conection
        `header` - the `Set-Cookie` received from the server
      Returns:
        an array of `Cookie`s parsed from the Set-Cookie value
      Throws:
        `MalformedCookieException` - if an exception occurs during parsing
      Since:
        3.0
      See Also:
        `CookieSpec.validate(String, int, String, boolean, Cookie)`

    - #### parseAttribute

          public void parseAttribute(NameValuePair attribute,
                            Cookie cookie)
                              throws MalformedCookieException

      Parse the cookie attribute and update the corresponsing `Cookie` properties as defined by the Netscape draft specification
      Specified by:
        `parseAttribute` in interface `CookieSpec`
      Overrides:
        `parseAttribute` in class `CookieSpecBase`
      Parameters:
        `attribute` - `NameValuePair` cookie attribute from the `Set- Cookie`
        `cookie` - `Cookie` to be updated
      Throws:
        `MalformedCookieException` - if an exception occurs during parsing

    - #### domainMatch

          public boolean domainMatch(java.lang.String host,
                            java.lang.String domain)

      Performs domain-match as described in the Netscape draft.
      Specified by:
        `domainMatch` in interface `CookieSpec`
      Overrides:
        `domainMatch` in class `CookieSpecBase`
      Parameters:
        `host` - The target host.
        `domain` - The cookie domain attribute.
      Returns:
        true if the specified host matches the given domain.

    - #### validate

          public void validate(java.lang.String host,
                      int port,
                      java.lang.String path,
                      boolean secure,
                      Cookie cookie)
                        throws MalformedCookieException

      Performs Netscape draft compliant `Cookie` validation
      Specified by:
        `validate` in interface `CookieSpec`
      Overrides:
        `validate` in class `CookieSpecBase`
      Parameters:
        `host` - the host from which the `Cookie` was received
        `port` - the port from which the `Cookie` was received
        `path` - the path from which the `Cookie` was received
        `secure` - `true` when the `Cookie` was received using a secure connection
        `cookie` - The cookie to validate.
      Throws:
        `MalformedCookieException` - if an exception occurs during validation

Copyright (c) 1999-2005 - Apache Software Foundation