Package org.jsoup.helper
Class HttpConnection.Base<T extends Connection.Base>
- java.lang.Object
-
- org.jsoup.helper.HttpConnection.Base<T>
-
- All Implemented Interfaces:
Connection.Base<T>
- Direct Known Subclasses:
HttpConnection.Request
,HttpConnection.Response
- Enclosing class:
- HttpConnection
private abstract static class HttpConnection.Base<T extends Connection.Base> extends java.lang.Object implements Connection.Base<T>
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.Map<java.lang.String,java.lang.String>
cookies
(package private) java.util.Map<java.lang.String,java.util.List<java.lang.String>>
headers
(package private) Connection.Method
method
(package private) java.net.URL
url
-
Constructor Summary
Constructors Modifier Constructor Description private
Base()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description T
addHeader(java.lang.String name, java.lang.String value)
Add a header.java.lang.String
cookie(java.lang.String name)
Get a cookie value by name from this request/response.T
cookie(java.lang.String name, java.lang.String value)
Set a cookie in this request/response.java.util.Map<java.lang.String,java.lang.String>
cookies()
Retrieve all of the request/response cookies as a mapprivate static java.lang.String
fixHeaderEncoding(java.lang.String val)
private java.util.List<java.lang.String>
getHeadersCaseInsensitive(java.lang.String name)
boolean
hasCookie(java.lang.String name)
Check if a cookie is presentboolean
hasHeader(java.lang.String name)
Check if a header is presentboolean
hasHeaderWithValue(java.lang.String name, java.lang.String value)
Test if the request has a header with this value (case insensitive).java.lang.String
header(java.lang.String name)
Get the value of a header.T
header(java.lang.String name, java.lang.String value)
Set a header.java.util.Map<java.lang.String,java.lang.String>
headers()
Retrieve all of the request/response header names and corresponding values as a map.java.util.List<java.lang.String>
headers(java.lang.String name)
Get the values of a header.private static boolean
looksLikeUtf8(byte[] input)
Connection.Method
method()
Get the request methodT
method(Connection.Method method)
Set the request methodjava.util.Map<java.lang.String,java.util.List<java.lang.String>>
multiHeaders()
Retreive all of the headers, keyed by the header name, and with a list of values per header.T
removeCookie(java.lang.String name)
Remove a cookie by nameT
removeHeader(java.lang.String name)
Remove headers by name.private java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>
scanHeaders(java.lang.String name)
java.net.URL
url()
Get the URLT
url(java.net.URL url)
Set the URL
-
-
-
Field Detail
-
url
java.net.URL url
-
method
Connection.Method method
-
headers
java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers
-
cookies
java.util.Map<java.lang.String,java.lang.String> cookies
-
-
Method Detail
-
url
public java.net.URL url()
Description copied from interface:Connection.Base
Get the URL- Specified by:
url
in interfaceConnection.Base<T extends Connection.Base>
- Returns:
- URL
-
url
public T url(java.net.URL url)
Description copied from interface:Connection.Base
Set the URL- Specified by:
url
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
url
- new URL- Returns:
- this, for chaining
-
method
public Connection.Method method()
Description copied from interface:Connection.Base
Get the request method- Specified by:
method
in interfaceConnection.Base<T extends Connection.Base>
- Returns:
- method
-
method
public T method(Connection.Method method)
Description copied from interface:Connection.Base
Set the request method- Specified by:
method
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
method
- new method- Returns:
- this, for chaining
-
header
public java.lang.String header(java.lang.String name)
Description copied from interface:Connection.Base
Get the value of a header. If there is more than one header value with the same name, the headers are returned comma seperated, per rfc2616-sec4.Header names are case insensitive.
- Specified by:
header
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
name
- name of header (case insensitive)- Returns:
- value of header, or null if not set.
- See Also:
Connection.Base.hasHeader(String)
,Connection.Base.cookie(String)
-
addHeader
public T addHeader(java.lang.String name, java.lang.String value)
Description copied from interface:Connection.Base
Add a header. The header will be added regardless of whether a header with the same name already exists.- Specified by:
addHeader
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
name
- Name of new headervalue
- Value of new header- Returns:
- this, for chaining
-
headers
public java.util.List<java.lang.String> headers(java.lang.String name)
Description copied from interface:Connection.Base
Get the values of a header.- Specified by:
headers
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
name
- header name, case insensitive.- Returns:
- a list of values for this header, or an empty list if not set.
-
fixHeaderEncoding
private static java.lang.String fixHeaderEncoding(java.lang.String val)
-
looksLikeUtf8
private static boolean looksLikeUtf8(byte[] input)
-
header
public T header(java.lang.String name, java.lang.String value)
Description copied from interface:Connection.Base
Set a header. This method will overwrite any existing header with the same case insensitive name. (If there is more than one value for this header, this method will update the first matching header.- Specified by:
header
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
name
- Name of headervalue
- Value of header- Returns:
- this, for chaining
- See Also:
Connection.Base.addHeader(String, String)
-
hasHeader
public boolean hasHeader(java.lang.String name)
Description copied from interface:Connection.Base
Check if a header is present- Specified by:
hasHeader
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
name
- name of header (case insensitive)- Returns:
- if the header is present in this request/response
-
hasHeaderWithValue
public boolean hasHeaderWithValue(java.lang.String name, java.lang.String value)
Test if the request has a header with this value (case insensitive).- Specified by:
hasHeaderWithValue
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
name
- header name (case insensitive)value
- value (case insensitive)- Returns:
- if the header and value pair are set in this req/res
-
removeHeader
public T removeHeader(java.lang.String name)
Description copied from interface:Connection.Base
Remove headers by name. If there is more than one header with this name, they will all be removed.- Specified by:
removeHeader
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
name
- name of header to remove (case insensitive)- Returns:
- this, for chaining
-
headers
public java.util.Map<java.lang.String,java.lang.String> headers()
Description copied from interface:Connection.Base
Retrieve all of the request/response header names and corresponding values as a map. For headers with multiple values, only the first header is returned.Note that this is a view of the headers only, and changes made to this map will not be reflected in the request/response object.
- Specified by:
headers
in interfaceConnection.Base<T extends Connection.Base>
- Returns:
- headers
- See Also:
Connection.Base.multiHeaders()
-
multiHeaders
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> multiHeaders()
Description copied from interface:Connection.Base
Retreive all of the headers, keyed by the header name, and with a list of values per header.- Specified by:
multiHeaders
in interfaceConnection.Base<T extends Connection.Base>
- Returns:
- a list of multiple values per header.
-
getHeadersCaseInsensitive
private java.util.List<java.lang.String> getHeadersCaseInsensitive(java.lang.String name)
-
scanHeaders
private java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>> scanHeaders(java.lang.String name)
-
cookie
public java.lang.String cookie(java.lang.String name)
Description copied from interface:Connection.Base
Get a cookie value by name from this request/response.Response objects have a simplified cookie model. Each cookie set in the response is added to the response object's cookie key=value map. The cookie's path, domain, and expiry date are ignored.
- Specified by:
cookie
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
name
- name of cookie to retrieve.- Returns:
- value of cookie, or null if not set
-
cookie
public T cookie(java.lang.String name, java.lang.String value)
Description copied from interface:Connection.Base
Set a cookie in this request/response.- Specified by:
cookie
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
name
- name of cookievalue
- value of cookie- Returns:
- this, for chaining
-
hasCookie
public boolean hasCookie(java.lang.String name)
Description copied from interface:Connection.Base
Check if a cookie is present- Specified by:
hasCookie
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
name
- name of cookie- Returns:
- if the cookie is present in this request/response
-
removeCookie
public T removeCookie(java.lang.String name)
Description copied from interface:Connection.Base
Remove a cookie by name- Specified by:
removeCookie
in interfaceConnection.Base<T extends Connection.Base>
- Parameters:
name
- name of cookie to remove- Returns:
- this, for chaining
-
cookies
public java.util.Map<java.lang.String,java.lang.String> cookies()
Description copied from interface:Connection.Base
Retrieve all of the request/response cookies as a map- Specified by:
cookies
in interfaceConnection.Base<T extends Connection.Base>
- Returns:
- cookies
-
-