org.apache.commons.httpclient.cookie
Class NetscapeDraftSpec

java.lang.Object
  extended by org.apache.commons.httpclient.cookie.CookieSpecBase
      extended by 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
NetscapeDraftSpec()
          Default constructor
 
Method Summary
 boolean domainMatch(String host, String domain)
          Performs domain-match as described in the Netscape draft.
 List<Cookie> parse(String host, int port, String path, boolean secure, String header)
          Parses the Set-Cookie value into an array of Cookies.
 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(String host, int port, 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 List<Cookie> parse(String host,
                          int port,
                          String path,
                          boolean secure,
                          String header)
                   throws MalformedCookieException
Parses the Set-Cookie value into an array of Cookies.

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.

http://wp.netscape.com/newsref/std/cookie_spec.html

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 Cookies 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(String host,
                           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(String host,
                     int port,
                     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