- java.lang.Object
-
- java.net.CookieHandler
-
- Direct Known Subclasses:
- CookieManager
public abstract class CookieHandler extends Object
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 that to used by the HTTP 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
- Since:
- 1.5
-
-
Constructor Summary
Constructors Constructor and Description CookieHandler()
-
Method Summary
Methods Modifier and Type Method and Description abstract Map<String,List<String>>
get(URI uri, Map<String,List<String>> requestHeaders)
Gets all the applicable cookies from a cookie cache for the specified uri in the request header.static CookieHandler
getDefault()
Gets the system-wide cookie handler.abstract void
put(URI uri, Map<String,List<String>> 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.static void
setDefault(CookieHandler cHandler)
Sets (or unsets) the system-wide cookie handler.
-
-
-
Method Detail
-
getDefault
public static CookieHandler getDefault()
Gets the system-wide cookie handler.- Returns:
- the system-wide cookie handler; A null return means there is no system-wide cookie handler currently set.
- Throws:
SecurityException
- If a security manager has been installed and it deniesNetPermission
("getCookieHandler")- See Also:
setDefault(CookieHandler)
-
setDefault
public static void setDefault(CookieHandler cHandler)
Sets (or unsets) the system-wide cookie handler. Note: non-standard http protocol handlers may ignore this setting.- Parameters:
cHandler
- The HTTP cookie handler, ornull
to unset.- Throws:
SecurityException
- If a security manager has been installed and it deniesNetPermission
("setCookieHandler")- See Also:
getDefault()
-
get
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
- aURI
representing the intended use for the cookiesrequestHeaders
- - a Map from request header field names to lists of field values representing the current request headers- Returns:
- an immutable map from state management headers, with field names "Cookie" or "Cookie2" to a list of cookies containing state information
- Throws:
IOException
- if an I/O error occursIllegalArgumentException
- if either argument is null- See Also:
put(URI, Map)
-
put
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
- aURI
where the cookies come fromresponseHeaders
- an immutable map from field names to lists of field values representing the response header fields returned- Throws:
IOException
- if an I/O error occursIllegalArgumentException
- if either argument is null- See Also:
get(URI, Map)
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-java/net/cookiehandler.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.