org.apache.commons.httpclient.cookie

Class RFC2109Spec

Implemented Interfaces:
CookieSpec

public class RFC2109Spec
extends CookieSpecBase

RFC 2109 specific cookie management functions

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

Since:
2.0

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

RFC2109Spec()
Default constructor

Method Summary

boolean
domainMatch(String host, String domain)
Performs domain-match as defined by the RFC2109.
String
formatCookie(Cookie cookie)
Return a string suitable for sending in a "Cookie" header as defined in RFC 2109
String
formatCookies(Cookie[] cookies)
Create a RFC 2109 compliant "Cookie" header value containing all Cookies in cookies suitable for sending in a "Cookie" header
void
parseAttribute(NameValuePair attribute, Cookie cookie)
Parse RFC 2109 specific cookie attribute and update the corresponsing Cookie properties.
void
validate(String host, int port, String path, boolean secure, Cookie cookie)
Performs RFC 2109 compliant Cookie validation

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

domainMatch, formatCookie, formatCookieHeader, formatCookieHeader, formatCookies, getValidDateFormats, match, match, parse, parse, parseAttribute, pathMatch, setValidDateFormats, validate

Constructor Details

RFC2109Spec

public RFC2109Spec()
Default constructor

Method Details

domainMatch

public boolean domainMatch(String host,
                           String domain)
Performs domain-match as defined by the RFC2109.
Specified by:
domainMatch in interface CookieSpec
Overrides:
domainMatch in interface CookieSpecBase

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)
Return a string suitable for sending in a "Cookie" header as defined in RFC 2109
Specified by:
formatCookie in interface CookieSpec
Overrides:
formatCookie in interface CookieSpecBase

Parameters:
cookie - a Cookie to be formatted as string

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


formatCookies

public String formatCookies(Cookie[] cookies)
Create a RFC 2109 compliant "Cookie" header value containing all Cookies in cookies suitable for sending in a "Cookie" header
Specified by:
formatCookies in interface CookieSpec
Overrides:
formatCookies in interface CookieSpecBase

Parameters:
cookies - an array of Cookies to be formatted

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


parseAttribute

public void parseAttribute(NameValuePair attribute,
                           Cookie cookie)
            throws MalformedCookieException
Parse RFC 2109 specific cookie attribute and update the corresponsing Cookie properties.
Specified by:
parseAttribute in interface CookieSpec
Overrides:
parseAttribute in interface CookieSpecBase

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

Throws:
MalformedCookieException - if an exception occurs during parsing


validate

public void validate(String host,
                     int port,
                     String path,
                     boolean secure,
                     Cookie cookie)
            throws MalformedCookieException
Performs RFC 2109 compliant Cookie validation
Specified by:
validate in interface CookieSpec
Overrides:
validate in interface 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