APIdia Launch Partner
Top Description Fields Constructors Methods
java.net

public abstract Class CookieHandler

extends Object
Class Inheritance
Known Direct Subclasses
java.net.CookieManager
Imports
java.util.Map, .List, java.io.IOException

A CookieHandler object provides a callback mechanism to hook up a HTTP state management policy implementation into the HTTP protocol handler. The HTTP state management mechanism specifies a way to create a stateful session with HTTP requests and responses.

A system-wide CookieHandler to be used by the HTTP URL stream protocol handler can be registered by doing a CookieHandler.setDefault(CookieHandler). The currently registered CookieHandler can be retrieved by calling CookieHandler.getDefault(). For more information on HTTP state management, see RFC 2965: HTTP State Management Mechanism

Author
Yingxian Wang
Since
1.5
External Specification
https://www.rfc-editor.org/info/rfc2965

Field Summary

Modifier and TypeField and Description
private static CookieHandler
cookieHandler

The system-wide cookie handler that will apply cookies to the request headers and manage cookies from the response headers.

Constructor Summary

AccessConstructor and Description
public
CookieHandler()

Constructor for subclasses to call.

Method Summary

Modifier and TypeMethod and Description
public abstract Map<String, List<String>>

Returns:

an immutable map from state management headers, with field names "Cookie" or "Cookie2" to a list of cookies containing state information
get
(URI
a URI representing the intended use for the cookies
uri
,
Map<String, List<String>>
a Map from request header field names to lists of field values representing the current request headers
requestHeaders
)

Gets all the applicable cookies from a cookie cache for the specified uri in the request header.

public static synchronized CookieHandler

Returns:

the system-wide cookie handler; A null return means there is no system-wide cookie handler currently set.
getDefault
()

Gets the system-wide cookie handler.

public abstract void
put(URI
a URI where the cookies come from
uri
,
Map<String, List<String>>
an immutable map from field names to lists of field values representing the response header fields returned
responseHeaders
)

Sets all the applicable cookies, examples are response header fields that are named Set-Cookie2, present in the response headers into a cookie cache.

public static synchronized void
setDefault(CookieHandler
The HTTP cookie handler, or null to unset.
cHandler
)

Sets (or unsets) the system-wide cookie handler.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

cookieHandlerback to summary
private static CookieHandler cookieHandler

The system-wide cookie handler that will apply cookies to the request headers and manage cookies from the response headers.

See Also
setDefault(CookieHandler), getDefault()

Constructor Detail

CookieHandlerback to summary
public CookieHandler()

Constructor for subclasses to call.

Method Detail

getback to summary
public abstract Map<String, List<String>> get(URI uri, Map<String, List<String>> requestHeaders) throws IOException

Gets all the applicable cookies from a cookie cache for the specified uri in the request header.

The URI passed as an argument specifies the intended use for the cookies. In particular the scheme should reflect whether the cookies will be sent over http, https or used in another context like javascript. The host part should reflect either the destination of the cookies or their origin in the case of javascript.

It is up to the implementation to take into account the URI and the cookies attributes and security settings to determine which ones should be returned.

HTTP protocol implementers should make sure that this method is called after all request headers related to choosing cookies are added, and before the request is sent.

Parameters
uri:URI

a URI representing the intended use for the cookies

requestHeaders:Map<String, List<String>>

a Map from request header field names to lists of field values representing the current request headers

Returns:Map<String, List<String>>

an immutable map from state management headers, with field names "Cookie" or "Cookie2" to a list of cookies containing state information

Exceptions
IOException:
if an I/O error occurs
IllegalArgumentException:
if either argument is null
See Also
put(URI, Map)
getDefaultback to summary
public static synchronized CookieHandler getDefault()

Gets the system-wide cookie handler.

Returns:CookieHandler

the system-wide cookie handler; A null return means there is no system-wide cookie handler currently set.

See Also
setDefault(CookieHandler)
putback to summary
public abstract void put(URI uri, Map<String, List<String>> responseHeaders) throws IOException

Sets all the applicable cookies, examples are response header fields that are named Set-Cookie2, present in the response headers into a cookie cache.

Parameters
uri:URI

a URI where the cookies come from

responseHeaders:Map<String, List<String>>

an immutable map from field names to lists of field values representing the response header fields returned

Exceptions
IOException:
if an I/O error occurs
IllegalArgumentException:
if either argument is null
See Also
get(URI, Map)
setDefaultback to summary
public static synchronized void setDefault(CookieHandler cHandler)

Sets (or unsets) the system-wide cookie handler.

Note

non-standard http protocol handlers may ignore this setting.

Parameters
cHandler:CookieHandler

The HTTP cookie handler, or null to unset.

See Also
getDefault()