private abstract static class HttpConnection.Base<T extends Connection.Base> extends Object implements Connection.Base<T>
Modifier and Type | Field and Description |
---|---|
(package private) Map<String,String> |
cookies |
(package private) Map<String,List<String>> |
headers |
(package private) Connection.Method |
method |
(package private) URL |
url |
Modifier | Constructor and Description |
---|---|
private |
Base() |
Modifier and Type | Method and Description |
---|---|
T |
addHeader(String name,
String value)
Add a header.
|
String |
cookie(String name)
Get a cookie value by name from this request/response.
|
T |
cookie(String name,
String value)
Set a cookie in this request/response.
|
Map<String,String> |
cookies()
Retrieve all of the request/response cookies as a map
|
private static String |
fixHeaderEncoding(String val) |
private List<String> |
getHeadersCaseInsensitive(String name) |
boolean |
hasCookie(String name)
Check if a cookie is present
|
boolean |
hasHeader(String name)
Check if a header is present
|
boolean |
hasHeaderWithValue(String name,
String value)
Test if the request has a header with this value (case insensitive).
|
String |
header(String name)
Get the value of a header.
|
T |
header(String name,
String value)
Set a header.
|
Map<String,String> |
headers()
Retrieve all of the request/response header names and corresponding values as a map.
|
List<String> |
headers(String name)
Get the values of a header.
|
private static boolean |
looksLikeUtf8(byte[] input) |
Connection.Method |
method()
Get the request method
|
T |
method(Connection.Method method)
Set the request method
|
Map<String,List<String>> |
multiHeaders()
Retreive all of the headers, keyed by the header name, and with a list of values per header.
|
T |
removeCookie(String name)
Remove a cookie by name
|
T |
removeHeader(String name)
Remove headers by name.
|
private Map.Entry<String,List<String>> |
scanHeaders(String name) |
URL |
url()
Get the URL
|
T |
url(URL url)
Set the URL
|
Connection.Method method
private Base()
public URL url()
Connection.Base
url
in interface Connection.Base<T extends Connection.Base>
public T url(URL url)
Connection.Base
url
in interface Connection.Base<T extends Connection.Base>
url
- new URLpublic Connection.Method method()
Connection.Base
method
in interface Connection.Base<T extends Connection.Base>
public T method(Connection.Method method)
Connection.Base
method
in interface Connection.Base<T extends Connection.Base>
method
- new methodpublic String header(String name)
Connection.Base
Header names are case insensitive.
header
in interface Connection.Base<T extends Connection.Base>
name
- name of header (case insensitive)Connection.Base.hasHeader(String)
,
Connection.Base.cookie(String)
public T addHeader(String name, String value)
Connection.Base
addHeader
in interface Connection.Base<T extends Connection.Base>
name
- Name of new headervalue
- Value of new headerpublic List<String> headers(String name)
Connection.Base
headers
in interface Connection.Base<T extends Connection.Base>
name
- header name, case insensitive.private static String fixHeaderEncoding(String val)
private static boolean looksLikeUtf8(byte[] input)
public T header(String name, String value)
Connection.Base
header
in interface Connection.Base<T extends Connection.Base>
name
- Name of headervalue
- Value of headerConnection.Base.addHeader(String, String)
public boolean hasHeader(String name)
Connection.Base
hasHeader
in interface Connection.Base<T extends Connection.Base>
name
- name of header (case insensitive)public boolean hasHeaderWithValue(String name, String value)
hasHeaderWithValue
in interface Connection.Base<T extends Connection.Base>
name
- header name (case insensitive)value
- value (case insensitive)public T removeHeader(String name)
Connection.Base
removeHeader
in interface Connection.Base<T extends Connection.Base>
name
- name of header to remove (case insensitive)public Map<String,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>
Connection.Base.multiHeaders()
public Map<String,List<String>> multiHeaders()
Connection.Base
multiHeaders
in interface Connection.Base<T extends Connection.Base>
private List<String> getHeadersCaseInsensitive(String name)
public String cookie(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>
name
- name of cookie to retrieve.public T cookie(String name, String value)
Connection.Base
cookie
in interface Connection.Base<T extends Connection.Base>
name
- name of cookievalue
- value of cookiepublic boolean hasCookie(String name)
Connection.Base
hasCookie
in interface Connection.Base<T extends Connection.Base>
name
- name of cookiepublic T removeCookie(String name)
Connection.Base
removeCookie
in interface Connection.Base<T extends Connection.Base>
name
- name of cookie to removepublic Map<String,String> cookies()
Connection.Base
cookies
in interface Connection.Base<T extends Connection.Base>
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses