org.apache.commons.httpclient.cookie

Interface CookieSpec

public interface CookieSpec

Defines the cookie management specification.

Cookie management specification must define

for a given host, port and path of origin

Since: 2.0

Author: Oleg Kalnichevski Jeff Dever

Field Summary
static StringPATH_DELIM
Path delimiter
static charPATH_DELIM_CHAR
Path delimiting charachter
Method Summary
booleandomainMatch(String host, String domain)
Performs domain-match as defined by the cookie specification.
StringformatCookie(Cookie cookie)
Create a "Cookie" header value for an array of cookies.
HeaderformatCookieHeader(Cookie[] cookies)
Create a "Cookie" Header for an array of Cookies.
HeaderformatCookieHeader(Cookie cookie)
Create a "Cookie" Header for single Cookie.
StringformatCookies(Cookie[] cookies)
Create a "Cookie" header value for an array of cookies.
CollectiongetValidDateFormats()
Returns the {@link Collection} of date patterns used for parsing.
booleanmatch(String host, int port, String path, boolean secure, Cookie cookie)
Determines if a Cookie matches a location.
Cookie[]match(String host, int port, String path, boolean secure, Cookie[] cookies)
Determines which of an array of Cookies matches a location.
Cookie[]parse(String host, int port, String path, boolean secure, String header)
Parse the "Set-Cookie" header value into Cookie array.
Cookie[]parse(String host, int port, String path, boolean secure, Header header)
Parse the "Set-Cookie" Header into an array of Cookies.
voidparseAttribute(NameValuePair attribute, Cookie cookie)
Parse the cookie attribute and update the corresponsing Cookie properties.
booleanpathMatch(String path, String topmostPath)
Performs path-match as defined by the cookie specification.
voidsetValidDateFormats(Collection datepatterns)
Sets the {@link Collection} of date patterns used for parsing.
voidvalidate(String host, int port, String path, boolean secure, Cookie cookie)
Validate the cookie according to validation rules defined by the cookie specification.

Field Detail

PATH_DELIM

public static final String PATH_DELIM
Path delimiter

PATH_DELIM_CHAR

public static final char PATH_DELIM_CHAR
Path delimiting charachter

Method Detail

domainMatch

public boolean domainMatch(String host, String domain)
Performs domain-match as defined by the cookie specification.

Parameters: host The target host. domain The cookie domain attribute.

Returns: true if the specified host matches the given domain.

Since: 3.0

formatCookie

public String formatCookie(Cookie cookie)
Create a "Cookie" header value for an array of cookies.

Parameters: cookie the cookie to be formatted as string

Returns: a string suitable for sending in a "Cookie" header.

formatCookieHeader

public Header formatCookieHeader(Cookie[] cookies)
Create a "Cookie" Header 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

formatCookieHeader

public Header formatCookieHeader(Cookie cookie)
Create a "Cookie" Header for single Cookie.

Parameters: cookie the Cookie format as a Cookie header

Returns: a Cookie header.

Throws: IllegalArgumentException if an input parameter is illegal

formatCookies

public String formatCookies(Cookie[] cookies)
Create a "Cookie" header value for an array of cookies.

Parameters: cookies the Cookies to be formatted

Returns: a string suitable for sending in a Cookie header.

Throws: IllegalArgumentException if an input parameter is illegal

getValidDateFormats

public Collection getValidDateFormats()
Returns the {@link Collection} of date patterns used for parsing. The String patterns are compatible with the {@link java.text.SimpleDateFormat}.

Returns: collection of date patterns

match

public boolean match(String host, int port, String path, boolean secure, Cookie cookie)
Determines if a Cookie matches a location.

Parameters: host the host to which the request is being submitted port the port to which the request is being submitted path the path to which the request is being submitted secure true if the request is using a secure connection cookie the Cookie to be matched

Returns: true if the cookie should be submitted with a request with given attributes, false otherwise.

match

public Cookie[] match(String host, int port, String path, boolean secure, Cookie[] cookies)
Determines which of an array of Cookies matches a location.

Parameters: host the host to which the request is being submitted port the port to which the request is being submitted (currenlty ignored) path the path to which the request is being submitted secure true if the request is using a secure protocol cookies an array of Cookies to be matched

Returns: true if the cookie should be submitted with a request with given attributes, false otherwise.

parse

public Cookie[] parse(String host, int port, String path, boolean secure, String header)
Parse the "Set-Cookie" header value into Cookie array.

This method will not perform the validation of the resultant {@link Cookie}s

Parameters: host the host which sent the Set-Cookie header port the port which sent the Set-Cookie header path the path which sent the Set-Cookie header secure true when the Set-Cookie header 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 IllegalArgumentException if an input parameter is illegal

See Also:

parse

public Cookie[] parse(String host, int port, String path, boolean secure, Header header)
Parse the "Set-Cookie" Header into an array of Cookies.

This method will not perform the validation of the resultant {@link Cookie}s

Parameters: host the host which sent the Set-Cookie header port the port which sent the Set-Cookie header path the path which sent the Set-Cookie header secure true when the Set-Cookie header was received over secure conection header the Set-Cookie received from the server

Returns: an array of Cookies parsed from the header

Throws: MalformedCookieException if an exception occurs during parsing IllegalArgumentException if an input parameter is illegal

See Also:

parseAttribute

public void parseAttribute(NameValuePair attribute, Cookie cookie)
Parse the cookie attribute and update the corresponsing Cookie properties.

Parameters: attribute cookie attribute from the Set-Cookie cookie the to be updated

Throws: MalformedCookieException if an exception occurs during parsing IllegalArgumentException if an input parameter is illegal

pathMatch

public boolean pathMatch(String path, String topmostPath)
Performs path-match as defined by the cookie specification.

Parameters: path The target path. topmostPath The cookie path attribute.

Returns: true if the paths match

Since: 3.0

setValidDateFormats

public void setValidDateFormats(Collection datepatterns)
Sets the {@link Collection} of date patterns used for parsing. The String patterns must be compatible with {@link java.text.SimpleDateFormat}.

Parameters: datepatterns collection of date patterns

validate

public void validate(String host, int port, String path, boolean secure, Cookie cookie)
Validate the cookie according to validation rules defined by the cookie specification.

Parameters: host the host from which the {@link Cookie} was received port the port from which the {@link Cookie} was received path the path from which the {@link Cookie} was received secure true when the {@link Cookie} was received using a secure connection cookie the Cookie to validate

Throws: MalformedCookieException if the cookie is invalid IllegalArgumentException if an input parameter is illegal

Copyright (c) 1999-2005 - Apache Software Foundation