Class RFC2965Spec
java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.cookie.CookieSpecBase
edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.cookie.RFC2965Spec
- All Implemented Interfaces:
CookieSpec
,CookieVersionSupport
RFC 2965 specific cookie management functions.
- Since:
- 3.1
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Cookie Response Header name for cookies processed by this spec.Fields inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.cookie.CookieSpecBase
LOG
Fields inherited from interface edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.cookie.CookieSpec
PATH_DELIM, PATH_DELIM_CHAR
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
domainMatch
(String host, String domain) Performs domain-match as defined by the RFC2965.protected CookieAttributeHandler
findAttribHandler
(String name) Finds an attribute handlerCookieAttributeHandler
for 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 allCookie
s suitable for sending in a "Cookie" headerprotected CookieAttributeHandler
getAttribHandler
(String name) Gets attribute handlerCookieAttributeHandler
for the given attribute.protected Iterator
int
boolean
Return true if the cookie should be submitted with a request with given attributes, false otherwise.Cookie[]
Parses the Set-Cookie2 value into an array of Cookies.Cookie[]
Parses the Set-Cookie value into an array of Cookies.void
parseAttribute
(NameValuePair attribute, Cookie cookie) Parse RFC 2965 specific cookie attribute and update the corresponsingCookie
properties.protected void
registerAttribHandler
(String name, CookieAttributeHandler handler) void
Performs RFC 2965 compliantCookie
validationMethods inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.cookie.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 handlerCookieAttributeHandler
for 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 handlerCookieAttributeHandler
for 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" "=" <"> http_URL <"> | "Discard" | "Domain" "=" value | "Max-Age" "=" value | "Path" "=" value | "Port" [ "=" <"> portlist <"> ] | "Secure" | "Version" "=" 1*DIGIT portlist = 1#portnum portnum = 1*DIGIT
- Specified by:
parse
in interfaceCookieSpec
- Overrides:
parse
in 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:CookieSpecBase
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:
parse
in interfaceCookieSpec
- Overrides:
parse
in 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 corresponsingCookie
properties.- Specified by:
parseAttribute
in interfaceCookieSpec
- Overrides:
parseAttribute
in classCookieSpecBase
- Parameters:
attribute
-NameValuePair
cookie attribute from the Set-Cookie2 header.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 2965 compliantCookie
validation- Specified by:
validate
in interfaceCookieSpec
- Overrides:
validate
in classCookieSpecBase
- Parameters:
host
- the host from which theCookie
was receivedport
- the port from which theCookie
was receivedpath
- the path from which theCookie
was receivedsecure
- true when theCookie
was 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:
match
in interfaceCookieSpec
- Overrides:
match
in 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
-Cookie
to 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:
formatCookie
in interfaceCookieSpec
- Overrides:
formatCookie
in classCookieSpecBase
- Parameters:
cookie
- aCookie
to be formatted as string- Returns:
- a string suitable for sending in a "Cookie" header.
-
formatCookies
Create a RFC 2965 compliant "Cookie" header value containing allCookie
s suitable for sending in a "Cookie" header- Specified by:
formatCookies
in interfaceCookieSpec
- Overrides:
formatCookies
in classCookieSpecBase
- Parameters:
cookies
- an array ofCookie
s 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:
domainMatch
in interfaceCookieSpec
- Overrides:
domainMatch
in 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:
getVersion
in interfaceCookieVersionSupport
-
getVersionHeader
- Specified by:
getVersionHeader
in interfaceCookieVersionSupport
-