private abstract static class HttpConnection.Base<T extends Connection.Base<T>> extends java.lang.Object implements Connection.Base<T>
Modifier and Type | Field and 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 |
private static java.net.URL |
UnsetUrl |
(package private) java.net.URL |
url |
Modifier | Constructor and Description |
---|---|
private |
Base() |
private |
Base(HttpConnection.Base<T> copy) |
Modifier and Type | Method and 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 map
|
private 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 present
|
boolean |
hasHeader(java.lang.String name)
Check if a header is present
|
boolean |
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 method, which defaults to
GET |
T |
method(Connection.Method method)
Set the request method
|
java.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 name
|
T |
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 URL of this Request or Response.
|
T |
url(java.net.URL url)
Set the URL
|
private static final java.net.URL UnsetUrl
java.net.URL url
Connection.Method method
java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers
java.util.Map<java.lang.String,java.lang.String> cookies
private Base()
private Base(HttpConnection.Base<T> copy)
public java.net.URL url()
Connection.Base
url
in interface Connection.Base<T extends Connection.Base<T>>
public T url(java.net.URL url)
Connection.Base
url
in interface Connection.Base<T extends Connection.Base<T>>
url
- new URLpublic Connection.Method method()
Connection.Base
GET
method
in interface Connection.Base<T extends Connection.Base<T>>
public T method(Connection.Method method)
Connection.Base
method
in interface Connection.Base<T extends Connection.Base<T>>
method
- new methodpublic java.lang.String header(java.lang.String name)
Connection.Base
Header names are case insensitive.
header
in interface Connection.Base<T extends Connection.Base<T>>
name
- name of header (case insensitive)Connection.Base.hasHeader(String)
,
Connection.Base.cookie(String)
public T addHeader(java.lang.String name, java.lang.String value)
Connection.Base
addHeader
in interface Connection.Base<T extends Connection.Base<T>>
name
- Name of new headervalue
- Value of new headerpublic java.util.List<java.lang.String> headers(java.lang.String name)
Connection.Base
headers
in interface Connection.Base<T extends Connection.Base<T>>
name
- header name, case insensitive.private static java.lang.String fixHeaderEncoding(java.lang.String val)
private static boolean looksLikeUtf8(byte[] input)
public T header(java.lang.String name, java.lang.String value)
Connection.Base
header
in interface Connection.Base<T extends Connection.Base<T>>
name
- Name of headervalue
- Value of headerConnection.Base.addHeader(String, String)
public boolean hasHeader(java.lang.String name)
Connection.Base
hasHeader
in interface Connection.Base<T extends Connection.Base<T>>
name
- name of header (case insensitive)public boolean hasHeaderWithValue(java.lang.String name, java.lang.String value)
hasHeaderWithValue
in interface Connection.Base<T extends Connection.Base<T>>
name
- header name (case insensitive)value
- value (case insensitive)public T removeHeader(java.lang.String name)
Connection.Base
removeHeader
in interface Connection.Base<T extends Connection.Base<T>>
name
- name of header to remove (case insensitive)public java.util.Map<java.lang.String,java.lang.String> headers()
Connection.Base
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.
headers
in interface Connection.Base<T extends Connection.Base<T>>
Connection.Base.multiHeaders()
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> multiHeaders()
Connection.Base
multiHeaders
in interface Connection.Base<T extends Connection.Base<T>>
private java.util.List<java.lang.String> getHeadersCaseInsensitive(java.lang.String name)
@Nullable private java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>> scanHeaders(java.lang.String name)
public java.lang.String cookie(java.lang.String name)
Connection.Base
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.
cookie
in interface Connection.Base<T extends Connection.Base<T>>
name
- name of cookie to retrieve.public T cookie(java.lang.String name, java.lang.String value)
Connection.Base
cookie
in interface Connection.Base<T extends Connection.Base<T>>
name
- name of cookievalue
- value of cookiepublic boolean hasCookie(java.lang.String name)
Connection.Base
hasCookie
in interface Connection.Base<T extends Connection.Base<T>>
name
- name of cookiepublic T removeCookie(java.lang.String name)
Connection.Base
removeCookie
in interface Connection.Base<T extends Connection.Base<T>>
name
- name of cookie to removepublic java.util.Map<java.lang.String,java.lang.String> cookies()
Connection.Base
cookies
in interface Connection.Base<T extends Connection.Base<T>>