Class CookieSpecBase
java.lang.Object
org.apache.commons.httpclient.cookie.CookieSpecBase
- All Implemented Interfaces:
CookieSpec
- Direct Known Subclasses:
NetscapeDraftSpec, RFC2109Spec, RFC2965Spec
Cookie management functions shared by all specification.
- 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
FieldsModifier and TypeFieldDescriptionprotected static final org.apache.commons.logging.LogLog objectFields inherited from interface CookieSpec
PATH_DELIM, PATH_DELIM_CHAR -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleandomainMatch(String host, String domain) Performs domain-match as implemented in common browsers.formatCookie(Cookie cookie) Return a string suitable for sending in a "Cookie" headerformatCookieHeader(Cookie cookie) formatCookieHeader(Cookie[] cookies) formatCookies(Cookie[] cookies) Create a "Cookie" header value containing allCookies in cookies suitable for sending in a "Cookie" headerReturns theCollectionof date patterns used for parsing.booleanReturn true if the cookie should be submitted with a request with given attributes, false otherwise.Cookie[]Return an array ofCookies that should be submitted with a request with given attributes, false otherwise.Cookie[]Parses the Set-Cookie value into an array of Cookies.Cookie[]voidparseAttribute(NameValuePair attribute, Cookie cookie) Parse the cookie attribute and update the corresponsingCookieproperties.booleanPerforms path-match as implemented in common browsers.voidsetValidDateFormats(Collection datepatterns) Sets theCollectionof date patterns used for parsing.voidPerforms most commonCookievalidation
-
Field Details
-
LOG
protected static final org.apache.commons.logging.Log LOGLog object
-
-
Constructor Details
-
CookieSpecBase
public CookieSpecBase()Default constructor
-
-
Method Details
-
parse
public Cookie[] parse(String host, int port, String path, boolean secure, String header) throws MalformedCookieException Parses the Set-Cookie value into an array of Cookies.The syntax for the Set-Cookie response header is:
set-cookie = "Set-Cookie:" cookies cookies = 1#cookie cookie = NAME "=" VALUE * (";" cookie-av) NAME = attr VALUE = value cookie-av = "Comment" "=" value | "Domain" "=" value | "Max-Age" "=" value | "Path" "=" value | "Secure" | "Version" "=" 1*DIGIT- Specified by:
parsein interfaceCookieSpec- Parameters:
host- the host from which the Set-Cookie value was receivedport- the port from which the Set-Cookie value was receivedpath- the path from which the Set-Cookie value was receivedsecure- true when the Set-Cookie value was received over secure conectionheader- 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- See Also:
-
parse
public Cookie[] parse(String host, int port, String path, boolean secure, Header header) throws MalformedCookieException Parse the "Set-Cookie"Headerinto an array ofCookies.The syntax for the Set-Cookie response header is:
set-cookie = "Set-Cookie:" cookies cookies = 1#cookie cookie = NAME "=" VALUE * (";" cookie-av) NAME = attr VALUE = value cookie-av = "Comment" "=" value | "Domain" "=" value | "Max-Age" "=" value | "Path" "=" value | "Secure" | "Version" "=" 1*DIGIT- Specified by:
parsein interfaceCookieSpec- Parameters:
host- the host from which the Set-Cookie header was receivedport- the port from which the Set-Cookie header was receivedpath- the path from which the Set-Cookie header was receivedsecure- true when the Set-Cookie header was received over secure conectionheader- the Set-Cookie received from the server- Returns:
- an array of Cookies parsed from the "Set-Cookie" header
- Throws:
MalformedCookieException- if an exception occurs during parsing- See Also:
-
parseAttribute
Parse the cookie attribute and update the corresponsingCookieproperties.- Specified by:
parseAttributein interfaceCookieSpec- Parameters:
attribute-HeaderElementcookie attribute from the Set- Cookiecookie-Cookieto be updated- Throws:
MalformedCookieException- if an exception occurs during parsing
-
getValidDateFormats
Description copied from interface:CookieSpecReturns theCollectionof date patterns used for parsing. The String patterns are compatible with theSimpleDateFormat.- Specified by:
getValidDateFormatsin interfaceCookieSpec- Returns:
- collection of date patterns
-
setValidDateFormats
Description copied from interface:CookieSpecSets theCollectionof date patterns used for parsing. The String patterns must be compatible withSimpleDateFormat.- Specified by:
setValidDateFormatsin interfaceCookieSpec- Parameters:
datepatterns- collection of date patterns
-
validate
public void validate(String host, int port, String path, boolean secure, Cookie cookie) throws MalformedCookieException Performs most commonCookievalidation- Specified by:
validatein interfaceCookieSpec- Parameters:
host- the host from which theCookiewas receivedport- the port from which theCookiewas receivedpath- the path from which theCookiewas receivedsecure- true when theCookiewas received using a secure connectioncookie- The cookie to validate.- Throws:
MalformedCookieException- if an exception occurs during validation
-
match
Return true if the cookie should be submitted with a request with given attributes, false otherwise.- Specified by:
matchin interfaceCookieSpec- Parameters:
host- the host to which the request is being submittedport- the port to which the request is being submitted (ignored)path- the path to which the request is being submittedsecure- true if the request is using a secure connectioncookie-Cookieto be matched- Returns:
- true if the cookie matches the criterium
-
domainMatch
Performs domain-match as implemented in common browsers.- Specified by:
domainMatchin interfaceCookieSpec- Parameters:
host- The target host.domain- The cookie domain attribute.- Returns:
- true if the specified host matches the given domain.
-
pathMatch
Performs path-match as implemented in common browsers.- Specified by:
pathMatchin interfaceCookieSpec- Parameters:
path- The target path.topmostPath- The cookie path attribute.- Returns:
- true if the paths match
-
match
Return an array ofCookies that should be submitted with a request with given attributes, false otherwise.- Specified by:
matchin interfaceCookieSpec- Parameters:
host- the host to which the request is being submittedport- the port to which the request is being submitted (currently ignored)path- the path to which the request is being submittedsecure- true if the request is using a secure protocolcookies- an array of Cookies to be matched- Returns:
- an array of Cookies matching the criterium
-
formatCookie
Return a string suitable for sending in a "Cookie" header- Specified by:
formatCookiein interfaceCookieSpec- Parameters:
cookie- aCookieto be formatted as string- Returns:
- a string suitable for sending in a "Cookie" header.
-
formatCookies
Create a "Cookie" header value containing allCookies in cookies suitable for sending in a "Cookie" header- Specified by:
formatCookiesin interfaceCookieSpec- Parameters:
cookies- an array ofCookies to be formatted- Returns:
- a string suitable for sending in a Cookie header.
- Throws:
IllegalArgumentException- if an input parameter is illegal
-
formatCookieHeader
- Specified by:
formatCookieHeaderin interfaceCookieSpec- Parameters:
cookies- an array ofCookies to be formatted as a " Cookie" header- Returns:
- a "Cookie"
Header.
-
formatCookieHeader
- Specified by:
formatCookieHeaderin interfaceCookieSpec- Parameters:
cookie- Cookies to be formatted as a Cookie header- Returns:
- a Cookie header.
-