Interface CookieSpec
-
- All Known Implementing Classes:
CookieSpecBase,IgnoreCookiesSpec,NetscapeDraftSpec,RFC2109Spec,RFC2965Spec
public interface CookieSpecDefines the cookie management specification.Cookie management specification must define
- rules of parsing "Set-Cookie" header
- rules of validation of parsed cookies
- formatting of "Cookie" header
- Since:
- 2.0
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPATH_DELIMPath delimiterstatic charPATH_DELIM_CHARPath delimiting charachter
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleandomainMatch(java.lang.String host, java.lang.String domain)Performs domain-match as defined by the cookie specification.java.lang.StringformatCookie(Cookie cookie)Create a "Cookie" header value for an array of cookies.HeaderformatCookieHeader(Cookie cookie)Create a "Cookie" Header for single Cookie.HeaderformatCookieHeader(Cookie[] cookies)Create a "Cookie" Header for an array of Cookies.java.lang.StringformatCookies(Cookie[] cookies)Create a "Cookie" header value for an array of cookies.java.util.CollectiongetValidDateFormats()Returns theCollectionof date patterns used for parsing.booleanmatch(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie cookie)Determines if a Cookie matches a location.Cookie[]match(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie[] cookies)Determines which of an array of Cookies matches a location.Cookie[]parse(java.lang.String host, int port, java.lang.String path, boolean secure, java.lang.String header)Parse the "Set-Cookie" header value into Cookie array.Cookie[]parse(java.lang.String host, int port, java.lang.String path, boolean secure, Header header)Parse the "Set-Cookie" Header into an array of Cookies.voidparseAttribute(NameValuePair attribute, Cookie cookie)Parse the cookie attribute and update the corresponsing Cookie properties.booleanpathMatch(java.lang.String path, java.lang.String topmostPath)Performs path-match as defined by the cookie specification.voidsetValidDateFormats(java.util.Collection datepatterns)Sets theCollectionof date patterns used for parsing.voidvalidate(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie cookie)Validate the cookie according to validation rules defined by the cookie specification.
-
-
-
Field Detail
-
PATH_DELIM
static final java.lang.String PATH_DELIM
Path delimiter- See Also:
- Constant Field Values
-
PATH_DELIM_CHAR
static final char PATH_DELIM_CHAR
Path delimiting charachter
-
-
Method Detail
-
parse
Cookie[] parse(java.lang.String host, int port, java.lang.String path, boolean secure, java.lang.String header) throws MalformedCookieException, java.lang.IllegalArgumentException
Parse the "Set-Cookie" header value into Cookie array.This method will not perform the validation of the resultant
Cookies- Parameters:
host- the host which sent the Set-Cookie headerport- the port which sent the Set-Cookie headerpath- the path which sent the Set-Cookie headersecure- 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 value
- Throws:
MalformedCookieException- if an exception occurs during parsingjava.lang.IllegalArgumentException- if an input parameter is illegal- See Also:
validate(String, int, String, boolean, Cookie)
-
parse
Cookie[] parse(java.lang.String host, int port, java.lang.String path, boolean secure, Header header) throws MalformedCookieException, java.lang.IllegalArgumentException
Parse the "Set-Cookie" Header into an array of Cookies.This method will not perform the validation of the resultant
Cookies- Parameters:
host- the host which sent the Set-Cookie headerport- the port which sent the Set-Cookie headerpath- the path which sent the Set-Cookie headersecure- 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 header
- Throws:
MalformedCookieException- if an exception occurs during parsingjava.lang.IllegalArgumentException- if an input parameter is illegal- See Also:
validate(String, int, String, boolean, Cookie)
-
parseAttribute
void parseAttribute(NameValuePair attribute, Cookie cookie) throws MalformedCookieException, java.lang.IllegalArgumentException
Parse the cookie attribute and update the corresponsing Cookie properties.- Parameters:
attribute- cookie attribute from the Set-Cookiecookie- the to be updated- Throws:
MalformedCookieException- if an exception occurs during parsingjava.lang.IllegalArgumentException- if an input parameter is illegal
-
validate
void validate(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie cookie) throws MalformedCookieException, java.lang.IllegalArgumentExceptionValidate the cookie according to validation rules defined by the cookie specification.- 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 the cookie is invalidjava.lang.IllegalArgumentException- if an input parameter is illegal
-
setValidDateFormats
void setValidDateFormats(java.util.Collection datepatterns)
Sets theCollectionof date patterns used for parsing. The String patterns must be compatible withSimpleDateFormat.- Parameters:
datepatterns- collection of date patterns
-
getValidDateFormats
java.util.Collection getValidDateFormats()
Returns theCollectionof date patterns used for parsing. The String patterns are compatible with theSimpleDateFormat.- Returns:
- collection of date patterns
-
match
boolean match(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie cookie)Determines if a Cookie matches a location.- Parameters:
host- the host to which the request is being submittedport- the port to which the request is being submittedpath- the path to which the request is being submittedsecure- true if the request is using a secure connectioncookie- the Cookie to be matched- Returns:
- true if the cookie should be submitted with a request with given attributes, false otherwise.
-
match
Cookie[] match(java.lang.String host, int port, java.lang.String path, boolean secure, Cookie[] cookies)
Determines which of an array of Cookies matches a location.- Parameters:
host- the host to which the request is being submittedport- the port to which the request is being submitted (currenlty 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:
- true if the cookie should be submitted with a request with given attributes, false otherwise.
-
domainMatch
boolean domainMatch(java.lang.String host, java.lang.String domain)Performs domain-match as defined by the cookie specification.- Parameters:
host- The target host.domain- The cookie domain attribute.- Returns:
- true if the specified host matches the given domain.
- Since:
- 3.0
-
pathMatch
boolean pathMatch(java.lang.String path, java.lang.String topmostPath)Performs path-match as defined by the cookie specification.- Parameters:
path- The target path.topmostPath- The cookie path attribute.- Returns:
- true if the paths match
- Since:
- 3.0
-
formatCookie
java.lang.String formatCookie(Cookie cookie)
Create a "Cookie" header value for an array of cookies.- Parameters:
cookie- the cookie to be formatted as string- Returns:
- a string suitable for sending in a "Cookie" header.
-
formatCookies
java.lang.String formatCookies(Cookie[] cookies) throws java.lang.IllegalArgumentException
Create a "Cookie" header value for an array of cookies.- Parameters:
cookies- the Cookies to be formatted- Returns:
- a string suitable for sending in a Cookie header.
- Throws:
java.lang.IllegalArgumentException- if an input parameter is illegal
-
formatCookieHeader
Header formatCookieHeader(Cookie[] cookies) throws java.lang.IllegalArgumentException
Create a "Cookie" Header for an array of Cookies.- Parameters:
cookies- the Cookies format into a Cookie header- Returns:
- a Header for the given Cookies.
- Throws:
java.lang.IllegalArgumentException- if an input parameter is illegal
-
formatCookieHeader
Header formatCookieHeader(Cookie cookie) throws java.lang.IllegalArgumentException
Create a "Cookie" Header for single Cookie.- Parameters:
cookie- the Cookie format as a Cookie header- Returns:
- a Cookie header.
- Throws:
java.lang.IllegalArgumentException- if an input parameter is illegal
-
-