Class RFC2965Spec
java.lang.Object
org.apache.commons.httpclient.cookie.CookieSpecBase
org.apache.commons.httpclient.cookie.RFC2965Spec
- All Implemented Interfaces:
CookieSpec, CookieVersionSupport
RFC 2965 specific cookie management functions.
- Since:
- 3.1
- Author:
- jain.samit@gmail.com (Samit Jain)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringCookie Response Header name for cookies processed by this spec.Fields inherited from class CookieSpecBase
LOGFields 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 defined by the RFC2965.protected CookieAttributeHandlerfindAttribHandler(String name) Finds an attribute handlerCookieAttributeHandlerfor the given attribute.formatCookie(Cookie cookie) Return a string suitable for sending in a "Cookie" header as defined in RFC 2965formatCookies(Cookie[] cookies) Create a RFC 2965 compliant "Cookie" header value containing allCookies suitable for sending in a "Cookie" headerprotected CookieAttributeHandlergetAttribHandler(String name) Gets attribute handlerCookieAttributeHandlerfor the given attribute.protected IteratorintbooleanReturn true if the cookie should be submitted with a request with given attributes, false otherwise.Cookie[]Parses the Set-Cookie value into an array of Cookies.Cookie[]Parses the Set-Cookie2 value into an array of Cookies.voidparseAttribute(NameValuePair attribute, Cookie cookie) Parse RFC 2965 specific cookie attribute and update the corresponsingCookieproperties.protected voidregisterAttribHandler(String name, CookieAttributeHandler handler) voidPerforms RFC 2965 compliantCookievalidationMethods inherited from class CookieSpecBase
formatCookieHeader, formatCookieHeader, getValidDateFormats, match, pathMatch, setValidDateFormats
-
Field Details
-
SET_COOKIE2_KEY
Cookie Response Header name for cookies processed by this spec.- See Also:
-
-
Constructor Details
-
RFC2965Spec
public RFC2965Spec()Default constructor
-
-
Method Details
-
registerAttribHandler
-
findAttribHandler
Finds an attribute handlerCookieAttributeHandlerfor the given attribute. Returns null if no attribute handler is found for the specified attribute.- Parameters:
name- attribute name. e.g. Domain, Path, etc.- Returns:
- an attribute handler or null
-
getAttribHandler
Gets attribute handlerCookieAttributeHandlerfor the given attribute.- Parameters:
name- attribute name. e.g. Domain, Path, etc.- Throws:
IllegalStateException- if handler not found for the specified attribute.
-
getAttribHandlerIterator
-
parse
public Cookie[] parse(String host, int port, String path, boolean secure, Header header) throws MalformedCookieException Parses the Set-Cookie2 value into an array of Cookies.The syntax for the Set-Cookie2 response header is:
set-cookie = "Set-Cookie2:" cookies cookies = 1#cookie cookie = NAME "=" VALUE * (";" cookie-av) NAME = attr VALUE = value cookie-av = "Comment" "=" value | "CommentURL" "=" invalid input: '<'"> http_URL invalid input: '<'"> | "Discard" | "Domain" "=" value | "Max-Age" "=" value | "Path" "=" value | "Port" [ "=" invalid input: '<'"> portlist invalid input: '<'"> ] | "Secure" | "Version" "=" 1*DIGIT portlist = 1#portnum portnum = 1*DIGIT- Specified by:
parsein interfaceCookieSpec- Overrides:
parsein classCookieSpecBase- Parameters:
host- the host from which the Set-Cookie2 value was receivedport- the port from which the Set-Cookie2 value was receivedpath- the path from which the Set-Cookie2 value was receivedsecure- true when the Set-Cookie2 value was received over secure conectionheader- the Set-Cookie2 Header received from the server- Returns:
- an array of Cookies parsed from the Set-Cookie2 value
- Throws:
MalformedCookieException- if an exception occurs during parsing- See Also:
-
parse
public Cookie[] parse(String host, int port, String path, boolean secure, String header) throws MalformedCookieException Description copied from class:CookieSpecBaseParses 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- Overrides:
parsein classCookieSpecBase- 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:
-
parseAttribute
Parse RFC 2965 specific cookie attribute and update the corresponsingCookieproperties.- Specified by:
parseAttributein interfaceCookieSpec- Overrides:
parseAttributein classCookieSpecBase- Parameters:
attribute-NameValuePaircookie attribute from the Set-Cookie2 header.cookie-Cookieto 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 2965 compliantCookievalidation- Specified by:
validatein interfaceCookieSpec- Overrides:
validatein classCookieSpecBase- 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- Overrides:
matchin classCookieSpecBase- 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
-
formatCookie
Return a string suitable for sending in a "Cookie" header as defined in RFC 2965- Specified by:
formatCookiein interfaceCookieSpec- Overrides:
formatCookiein classCookieSpecBase- Parameters:
cookie- aCookieto be formatted as string- Returns:
- a string suitable for sending in a "Cookie" header.
-
formatCookies
Create a RFC 2965 compliant "Cookie" header value containing allCookies suitable for sending in a "Cookie" header- Specified by:
formatCookiesin interfaceCookieSpec- Overrides:
formatCookiesin classCookieSpecBase- Parameters:
cookies- an array ofCookies to be formatted- Returns:
- a string suitable for sending in a Cookie header.
-
domainMatch
Performs domain-match as defined by the RFC2965.Host A's name domain-matches host B's if
- their host name strings string-compare equal; or
- A is a HDN string and has the form NB, where N is a non-empty
name string, B has the form .B', and B' is a HDN string. (So,
x.y.com domain-matches .Y.com but not Y.com.)
- Specified by:
domainMatchin interfaceCookieSpec- Overrides:
domainMatchin classCookieSpecBase- Parameters:
host- host name where cookie is received from or being sent to.domain- The cookie domain attribute.- Returns:
- true if the specified host matches the given domain.
-
getVersion
public int getVersion()- Specified by:
getVersionin interfaceCookieVersionSupport
-
getVersionHeader
- Specified by:
getVersionHeaderin interfaceCookieVersionSupport
-