Class CookieSpecBase
- java.lang.Object
-
- org.apache.commons.httpclient.cookie.CookieSpecBase
-
- All Implemented Interfaces:
CookieSpec
- Direct Known Subclasses:
NetscapeDraftSpec
,RFC2109Spec
,RFC2965Spec
public class CookieSpecBase extends java.lang.Object implements CookieSpec
Cookie management functions shared by all specification.- Since:
- 2.0
-
-
Field Summary
-
Fields inherited from interface org.apache.commons.httpclient.cookie.CookieSpec
PATH_DELIM, PATH_DELIM_CHAR
-
-
Constructor Summary
Constructors Constructor Description CookieSpecBase()
Default constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
domainMatch(java.lang.String host, java.lang.String domain)
Performs domain-match as implemented in common browsers.java.lang.String
formatCookie(Cookie cookie)
Return a string suitable for sending in a "Cookie" headerHeader
formatCookieHeader(Cookie cookie)
Header
formatCookieHeader(Cookie[] cookies)
java.lang.String
formatCookies(Cookie[] cookies)
Create a "Cookie" header value containing allCookie
s in cookies suitable for sending in a "Cookie" headerjava.util.Collection
getValidDateFormats()
Returns theCollection
of date patterns used for parsing.boolean
match(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie cookie)
Return true if the cookie should be submitted with a request with given attributes, false otherwise.Cookie[]
match(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie[] cookies)
Return an array ofCookie
s that should be submitted with a request with given attributes, false otherwise.Cookie[]
parse(java.lang.String host, int port, java.lang.String path, boolean secure, java.lang.String header)
Parses the Set-Cookie value into an array of Cookies.Cookie[]
parse(java.lang.String host, int port, java.lang.String path, boolean secure, Header header)
void
parseAttribute(NameValuePair attribute, Cookie cookie)
Parse the cookie attribute and update the corresponsingCookie
properties.boolean
pathMatch(java.lang.String path, java.lang.String topmostPath)
Performs path-match as implemented in common browsers.void
setValidDateFormats(java.util.Collection datepatterns)
Sets theCollection
of date patterns used for parsing.void
validate(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie cookie)
Performs most commonCookie
validation
-
-
-
Method Detail
-
parse
public Cookie[] parse(java.lang.String host, int port, java.lang.String path, boolean secure, java.lang.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:
parse
in 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:
CookieSpec.validate(String, int, String, boolean, Cookie)
-
parse
public Cookie[] parse(java.lang.String host, int port, java.lang.String path, boolean secure, Header header) throws MalformedCookieException
Parse the "Set-Cookie"Header
into an array ofCookie
s.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
- 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:
CookieSpec.validate(String, int, String, boolean, Cookie)
-
parseAttribute
public void parseAttribute(NameValuePair attribute, Cookie cookie) throws MalformedCookieException
Parse the cookie attribute and update the corresponsingCookie
properties.- Specified by:
parseAttribute
in interfaceCookieSpec
- Parameters:
attribute
-HeaderElement
cookie attribute from the Set- Cookiecookie
-Cookie
to be updated- Throws:
MalformedCookieException
- if an exception occurs during parsing
-
getValidDateFormats
public java.util.Collection getValidDateFormats()
Description copied from interface:CookieSpec
Returns theCollection
of date patterns used for parsing. The String patterns are compatible with theSimpleDateFormat
.- Specified by:
getValidDateFormats
in interfaceCookieSpec
- Returns:
- collection of date patterns
-
setValidDateFormats
public void setValidDateFormats(java.util.Collection datepatterns)
Description copied from interface:CookieSpec
Sets theCollection
of date patterns used for parsing. The String patterns must be compatible withSimpleDateFormat
.- Specified by:
setValidDateFormats
in interfaceCookieSpec
- Parameters:
datepatterns
- collection of date patterns
-
validate
public void validate(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie cookie) throws MalformedCookieException
Performs most commonCookie
validation- Specified by:
validate
in interfaceCookieSpec
- 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
public boolean match(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie cookie)
Return true if the cookie should be submitted with a request with given attributes, false otherwise.- Specified by:
match
in 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
-Cookie
to be matched- Returns:
- true if the cookie matches the criterium
-
domainMatch
public boolean domainMatch(java.lang.String host, java.lang.String domain)
Performs domain-match as implemented in common browsers.- Specified by:
domainMatch
in interfaceCookieSpec
- Parameters:
host
- The target host.domain
- The cookie domain attribute.- Returns:
- true if the specified host matches the given domain.
-
pathMatch
public boolean pathMatch(java.lang.String path, java.lang.String topmostPath)
Performs path-match as implemented in common browsers.- Specified by:
pathMatch
in interfaceCookieSpec
- Parameters:
path
- The target path.topmostPath
- The cookie path attribute.- Returns:
- true if the paths match
-
match
public Cookie[] match(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie[] cookies)
Return an array ofCookie
s that should be submitted with a request with given attributes, false otherwise.- Specified by:
match
in 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
public java.lang.String formatCookie(Cookie cookie)
Return a string suitable for sending in a "Cookie" header- Specified by:
formatCookie
in interfaceCookieSpec
- Parameters:
cookie
- aCookie
to be formatted as string- Returns:
- a string suitable for sending in a "Cookie" header.
-
formatCookies
public java.lang.String formatCookies(Cookie[] cookies) throws java.lang.IllegalArgumentException
Create a "Cookie" header value containing allCookie
s in cookies suitable for sending in a "Cookie" header- Specified by:
formatCookies
in interfaceCookieSpec
- Parameters:
cookies
- an array ofCookie
s to be formatted- Returns:
- a string suitable for sending in a Cookie header.
- Throws:
java.lang.IllegalArgumentException
- if an input parameter is illegal
-
formatCookieHeader
public Header formatCookieHeader(Cookie[] cookies)
- Specified by:
formatCookieHeader
in interfaceCookieSpec
- Parameters:
cookies
- an array ofCookie
s to be formatted as a " Cookie" header- Returns:
- a "Cookie"
Header
.
-
formatCookieHeader
public Header formatCookieHeader(Cookie cookie)
- Specified by:
formatCookieHeader
in interfaceCookieSpec
- Parameters:
cookie
- Cookies to be formatted as a Cookie header- Returns:
- a Cookie header.
-
-