public class HttpRequest extends Object
HttpURLConnection (or sub-class).
Each instance supports making a single request and cannot be reused for further requests.
| 限定符和类型 | 类和说明 |
|---|---|
static interface |
HttpRequest.ConnectionFactory
Creates
HTTP connections for
urls. |
static class |
HttpRequest.RequestOutputStream
Request output stream
|
static interface |
HttpRequest.UploadProgress
Callback interface for reporting upload progress for a request.
|
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
ENCODING_GZIP
'gzip' encoding header value
|
static String |
HEADER_ACCEPT
'Accept' header name
|
static String |
HEADER_ACCEPT_CHARSET
'Accept-Charset' header name
|
static String |
HEADER_ACCEPT_ENCODING
'Accept-Encoding' header name
|
static String |
HEADER_AUTHORIZATION
'Authorization' header name
|
static String |
HEADER_CACHE_CONTROL
'Cache-Control' header name
|
static String |
HEADER_CONTENT_ENCODING
'Content-Encoding' header name
|
static String |
HEADER_CONTENT_LENGTH
'Content-Length' header name
|
static String |
HEADER_CONTENT_TYPE
'Content-Type' header name
|
static String |
HEADER_DATE
'Date' header name
|
static String |
HEADER_ETAG
'ETag' header name
|
static String |
HEADER_EXPIRES
'Expires' header name
|
static String |
HEADER_IF_NONE_MATCH
'If-None-Match' header name
|
static String |
HEADER_LAST_MODIFIED
'Last-Modified' header name
|
static String |
HEADER_LOCATION
'Location' header name
|
static String |
HEADER_PROXY_AUTHORIZATION
'Proxy-Authorization' header name
|
static String |
HEADER_REFERER
'Referer' header name
|
static String |
HEADER_SERVER
'Server' header name
|
static String |
HEADER_USER_AGENT
'User-Agent' header name
|
static String |
METHOD_DELETE
'DELETE' request method
|
static String |
METHOD_GET
'GET' request method
|
static String |
METHOD_HEAD
'HEAD' request method
|
static String |
METHOD_OPTIONS
'OPTIONS' options method
|
static String |
METHOD_POST
'POST' request method
|
static String |
METHOD_PUT
'PUT' request method
|
static String |
METHOD_TRACE
'TRACE' request method
|
static String |
PARAM_CHARSET
'charset' header value parameter
|
| 构造器和说明 |
|---|
HttpRequest(CharSequence url,
String method)
Create HTTP connection wrapper
|
HttpRequest(URL url,
String method)
Create HTTP connection wrapper
|
| 限定符和类型 | 方法和说明 |
|---|---|
HttpRequest |
accept(String accept)
Set the 'Accept' header to given value
|
HttpRequest |
acceptCharset(String acceptCharset)
Set the 'Accept-Charset' header to given value
|
HttpRequest |
acceptEncoding(String acceptEncoding)
Set the 'Accept-Encoding' header to given value
|
HttpRequest |
acceptGzipEncoding()
Set the 'Accept-Encoding' header to 'gzip'
|
HttpRequest |
acceptJson()
Set the 'Accept' header to 'application/json'
|
static String |
append(CharSequence url,
Map<?,?> params)
Append given map as query parameters to the base URL
Each map entry's key will be a parameter name and the value's
Object.toString() will be the parameter value. |
static String |
append(CharSequence url,
Object... params)
Append given name/value pairs as query parameters to the base URL
The params argument is interpreted as a sequence of name/value pairs so the
given number of params must be divisible by 2.
|
HttpRequest |
authorization(String authorization)
Set the 'Authorization' header to given value
|
boolean |
badRequest()
Is the response code a 400 Bad Request?
|
HttpRequest |
basic(String name,
String password)
Set the 'Authorization' header to given values in Basic authentication
format
|
String |
body()
|
HttpRequest |
body(AtomicReference<String> output)
Get the response body as a
String and set it as the value of the
given reference. |
HttpRequest |
body(AtomicReference<String> output,
String charset)
Get the response body as a
String and set it as the value of the
given reference. |
String |
body(String charset)
Get response as
String in given character set
This will fall back to using the UTF-8 character set if the given charset
is null |
BufferedInputStream |
buffer()
Get response in a buffered stream
|
BufferedReader |
bufferedReader()
Get buffered reader to response body using the character set returned from
charset() and the configured buffer size |
BufferedReader |
bufferedReader(String charset)
Get buffered reader to response body using the given character set r and
the configured buffer size
|
int |
bufferSize()
Get the configured buffer size
The default buffer size is 8,192 bytes
|
HttpRequest |
bufferSize(int size)
Set the size used when buffering and copying between streams
This size is also used for send and receive buffers created for both char
and byte arrays
The default buffer size is 8,192 bytes
|
byte[] |
bytes()
Get response as byte array
|
protected ByteArrayOutputStream |
byteStream()
Create byte array output stream
|
String |
cacheControl()
Get the 'Cache-Control' header from the response
|
String |
charset()
Get 'charset' parameter from 'Content-Type' response header
|
HttpRequest |
chunk(int size)
Set chunked streaming mode to the given size
|
protected HttpRequest |
closeOutput()
Close output stream
|
protected HttpRequest |
closeOutputQuietly()
|
int |
code()
Get the status code of the response
|
HttpRequest |
code(AtomicInteger output)
Set the value of the given
AtomicInteger to the status code of the
response |
HttpRequest |
connectTimeout(int timeout)
Set connect timeout on connection to given value
|
String |
contentEncoding()
Get the 'Content-Encoding' header from the response
|
int |
contentLength()
Get the 'Content-Length' header from the response
|
HttpRequest |
contentLength(int contentLength)
Set the 'Content-Length' request header to the given value
|
HttpRequest |
contentLength(String contentLength)
Set the 'Content-Length' request header to the given value
|
String |
contentType()
Get the 'Content-Type' header from the response
|
HttpRequest |
contentType(String contentType)
Set the 'Content-Type' request header to the given value
|
HttpRequest |
contentType(String contentType,
String charset)
Set the 'Content-Type' request header to the given value and charset
|
protected HttpRequest |
copy(InputStream input,
OutputStream output)
Copy from input stream to output stream
|
protected HttpRequest |
copy(Reader input,
Writer output)
Copy from reader to writer
|
boolean |
created()
Is the response code a 201 Created?
|
long |
date()
Get the 'Date' header from the response
|
long |
dateHeader(String name)
Get a date header from the response falling back to returning -1 if the
header is missing or parsing fails
|
long |
dateHeader(String name,
long defaultValue)
Get a date header from the response falling back to returning the given
default value if the header is missing or parsing fails
|
HttpRequest |
decompress(boolean decompress)
Set whether or not the response body should be automatically decompress
when read from.
|
static HttpRequest |
delete(CharSequence url)
Start a 'DELETE' request to the given URL
|
static HttpRequest |
delete(CharSequence baseUrl,
boolean encode,
Object... params)
Start a 'DELETE' request to the given URL along with the query params
|
static HttpRequest |
delete(CharSequence baseUrl,
Map<?,?> params,
boolean encode)
Start a 'DELETE' request to the given URL along with the query params
|
static HttpRequest |
delete(URL url)
Start a 'DELETE' request to the given URL
|
HttpRequest |
disconnect()
Disconnect the connection
|
static String |
encode(CharSequence url)
Encode the given URL as an ASCII
String
This method ensures the path and query segments of the URL are properly
encoded such as ' ' characters being encoded to '%20' or any UTF-8
characters that are non-ASCII. |
String |
eTag()
Get the 'ETag' header from the response
|
long |
expires()
Get the 'Expires' header from the response
|
HttpRequest |
followRedirects(boolean followRedirects)
Set whether or not the underlying connection should follow redirects in
the response.
|
HttpRequest |
form(Map.Entry<?,?> entry)
Write the key and value in the entry as form data to the request body
The pair specified will be URL-encoded in UTF-8 and sent with the
'application/x-www-form-urlencoded' content-type
|
HttpRequest |
form(Map.Entry<?,?> entry,
String charset)
Write the key and value in the entry as form data to the request body
The pair specified will be URL-encoded and sent with the
'application/x-www-form-urlencoded' content-type
|
HttpRequest |
form(Map<?,?> values)
Write the values in the map as form data to the request body
The pairs specified will be URL-encoded in UTF-8 and sent with the
'application/x-www-form-urlencoded' content-type
|
HttpRequest |
form(Map<?,?> values,
String charset)
Write the values in the map as encoded form data to the request body
|
HttpRequest |
form(Object name,
Object value)
Write the name/value pair as form data to the request body
The pair specified will be URL-encoded in UTF-8 and sent with the
'application/x-www-form-urlencoded' content-type
|
HttpRequest |
form(Object name,
Object value,
String charset)
Write the name/value pair as form data to the request body
The values specified will be URL-encoded and sent with the
'application/x-www-form-urlencoded' content-type
|
static HttpRequest |
get(CharSequence url)
Start a 'GET' request to the given URL
|
static HttpRequest |
get(CharSequence baseUrl,
boolean encode,
Object... params)
Start a 'GET' request to the given URL along with the query params
|
static HttpRequest |
get(CharSequence baseUrl,
Map<?,?> params,
boolean encode)
Start a 'GET' request to the given URL along with the query params
|
static HttpRequest |
get(URL url)
Start a 'GET' request to the given URL
|
HttpURLConnection |
getConnection()
Get underlying connection
|
protected String |
getParam(String value,
String paramName)
Get parameter value from header value
|
protected Map<String,String> |
getParams(String header)
Get parameter values from header value
|
static HttpRequest |
head(CharSequence url)
Start a 'HEAD' request to the given URL
|
static HttpRequest |
head(CharSequence baseUrl,
boolean encode,
Object... params)
Start a 'GET' request to the given URL along with the query params
|
static HttpRequest |
head(CharSequence baseUrl,
Map<?,?> params,
boolean encode)
Start a 'HEAD' request to the given URL along with the query params
|
static HttpRequest |
head(URL url)
Start a 'HEAD' request to the given URL
|
HttpRequest |
header(Map.Entry<String,String> header)
Set header to have given entry's key as the name and value as the value
|
String |
header(String name)
Get a response header
|
HttpRequest |
header(String name,
Number value)
Set header name to given value
|
HttpRequest |
header(String name,
String value)
Set header name to given value
|
Map<String,List<String>> |
headers()
Get all the response headers
|
HttpRequest |
headers(Map<String,String> headers)
Set all headers found in given map where the keys are the header names and
the values are the header values
|
String[] |
headers(String name)
Get all values of the given header from the response
|
HttpRequest |
ifModifiedSince(long ifModifiedSince)
Set the 'If-Modified-Since' request header to the given value
|
HttpRequest |
ifNoneMatch(String ifNoneMatch)
Set the 'If-None-Match' request header to the given value
|
boolean |
ignoreCloseExceptions()
Get whether or not exceptions thrown by
Closeable.close() are
ignored |
HttpRequest |
ignoreCloseExceptions(boolean ignore)
Set whether or not to ignore exceptions that occur from calling
Closeable.close()
The default value of this setting is true |
int |
intHeader(String name)
Get an integer header from the response falling back to returning -1 if the
header is missing or parsing fails
|
int |
intHeader(String name,
int defaultValue)
Get an integer header value from the response falling back to the given
default value if the header is missing or if parsing fails
|
boolean |
isBodyEmpty()
Is the response body empty?
|
static void |
keepAlive(boolean keepAlive)
Set the 'http.keepAlive' property to the given value.
|
long |
lastModified()
Get the 'Last-Modified' header from the response
|
String |
location()
Get the 'Location' header from the response
|
static void |
maxConnections(int maxConnections)
Set the 'http.maxConnections' property to the given value.
|
String |
message()
Get status message of the response
|
String |
method()
Get the HTTP method of this request
|
boolean |
noContent()
Is the response code a 204 No Content?
|
static void |
nonProxyHosts(String... hosts)
Set the 'http.nonProxyHosts' property to the given host values.
|
boolean |
notFound()
Is the response code a 404 Not Found?
|
boolean |
notModified()
Is the response code a 304 Not Modified?
|
boolean |
ok()
Is the response code a 200 OK?
|
protected HttpRequest |
openOutput()
Open output stream
|
static HttpRequest |
options(CharSequence url)
Start an 'OPTIONS' request to the given URL
|
static HttpRequest |
options(URL url)
Start an 'OPTIONS' request to the given URL
|
String |
parameter(String headerName,
String paramName)
Get parameter with given name from header value in response
|
Map<String,String> |
parameters(String headerName)
Get all parameters from header value in response
This will be all key=value pairs after the first ';' that are separated by
a ';'
|
HttpRequest |
part(String name,
File part)
Write part of a multipart request to the request body
|
HttpRequest |
part(String name,
InputStream part)
Write part of a multipart request to the request body
|
HttpRequest |
part(String name,
Number part)
Write part of a multipart request to the request body
|
HttpRequest |
part(String name,
String part)
Write part of a multipart request to the request body
|
HttpRequest |
part(String name,
String filename,
File part)
Write part of a multipart request to the request body
|
HttpRequest |
part(String name,
String filename,
Number part)
Write part of a multipart request to the request body
|
HttpRequest |
part(String name,
String filename,
String part)
Write part of a multipart request to the request body
|
HttpRequest |
part(String name,
String filename,
String contentType,
File part)
Write part of a multipart request to the request body
|
HttpRequest |
part(String name,
String filename,
String contentType,
InputStream part)
Write part of a multipart request to the request body
|
HttpRequest |
part(String name,
String filename,
String contentType,
String part)
Write part of a multipart request to the request body
|
HttpRequest |
partHeader(String name,
String value)
Write a multipart header to the response body
|
static HttpRequest |
post(CharSequence url)
Start a 'POST' request to the given URL
|
static HttpRequest |
post(CharSequence baseUrl,
boolean encode,
Object... params)
Start a 'POST' request to the given URL along with the query params
|
static HttpRequest |
post(CharSequence baseUrl,
Map<?,?> params,
boolean encode)
Start a 'POST' request to the given URL along with the query params
|
static HttpRequest |
post(URL url)
Start a 'POST' request to the given URL
|
HttpRequest |
progress(HttpRequest.UploadProgress callback)
Set the UploadProgress callback for this request
|
HttpRequest |
proxyAuthorization(String proxyAuthorization)
Set the 'Proxy-Authorization' header to given value
|
HttpRequest |
proxyBasic(String name,
String password)
Set the 'Proxy-Authorization' header to given values in Basic authentication
format
|
static void |
proxyHost(String host)
Set the 'http.proxyHost' and 'https.proxyHost' properties to the given host
value.
|
static void |
proxyPort(int port)
Set the 'http.proxyPort' and 'https.proxyPort' properties to the given port
number.
|
static HttpRequest |
put(CharSequence url)
Start a 'PUT' request to the given URL
|
static HttpRequest |
put(CharSequence baseUrl,
boolean encode,
Object... params)
Start a 'PUT' request to the given URL along with the query params
|
static HttpRequest |
put(CharSequence baseUrl,
Map<?,?> params,
boolean encode)
Start a 'PUT' request to the given URL along with the query params
|
static HttpRequest |
put(URL url)
Start a 'PUT' request to the given URL
|
InputStreamReader |
reader()
Get reader to response body using the character set returned from
charset() |
InputStreamReader |
reader(String charset)
Get reader to response body using given character set.
|
HttpRequest |
readTimeout(int timeout)
Set read timeout on connection to given value
|
HttpRequest |
receive(Appendable appendable)
Receive response into the given appendable
|
HttpRequest |
receive(File file)
Stream response body to file
|
HttpRequest |
receive(OutputStream output)
Stream response to given output stream
|
HttpRequest |
receive(PrintStream output)
Stream response to given print stream
|
HttpRequest |
receive(Writer writer)
Receive response into the given writer
|
HttpRequest |
referer(String referer)
Set the 'Referer' header to given value
|
HttpRequest |
send(byte[] input)
Write byte array to request body
|
HttpRequest |
send(CharSequence value)
Write char sequence to request body
The charset configured via
contentType(String) will be used and
UTF-8 will be used if it is unset. |
HttpRequest |
send(File input)
Write contents of file to request body
|
HttpRequest |
send(InputStream input)
Write stream to request body
The given stream will be closed once sending completes
|
HttpRequest |
send(Reader input)
Write reader to request body
The given reader will be closed once sending completes
|
String |
server()
Get the 'Server' header from the response
|
boolean |
serverError()
Is the response code a 500 Internal Server Error?
|
static void |
setConnectionFactory(HttpRequest.ConnectionFactory cf)
Specify the
HttpRequest.ConnectionFactory used to create new requests. |
HttpRequest |
setSSLSocketFactory(SSLSocketFactory factory)
设置SSLSocketFactory
|
protected HttpRequest |
startPart()
Start part of a multipart
|
HttpStatus |
status()
Gets the response status enum
|
InputStream |
stream()
Get stream to response body
|
String |
toString() |
static HttpRequest |
trace(CharSequence url)
Start a 'TRACE' request to the given URL
|
static HttpRequest |
trace(URL url)
Start a 'TRACE' request to the given URL
|
HttpRequest |
trustAllCerts()
Configure HTTPS connection to trust all certificates
This method does nothing if the current request is not a HTTPS request
|
HttpRequest |
trustAllHosts()
Configure HTTPS connection to trust all hosts using a custom
HostnameVerifier that always returns true for each
host verified
This method does nothing if the current request is not a HTTPS request |
URL |
url()
Get the
URL of this request's connection |
HttpRequest |
useCaches(boolean useCaches)
Set value of
URLConnection.setUseCaches(boolean) |
HttpRequest |
useProxy(String proxyHost,
int proxyPort)
Configure an HTTP proxy on this connection.
|
HttpRequest |
userAgent(String userAgent)
Set the 'User-Agent' header to given value
|
protected HttpRequest |
writePartHeader(String name,
String filename)
Write part header
|
protected HttpRequest |
writePartHeader(String name,
String filename,
String contentType)
Write part header
|
OutputStreamWriter |
writer()
Create writer to request output stream
|
public static final String HEADER_ACCEPT_CHARSET
public static final String HEADER_ACCEPT_ENCODING
public static final String HEADER_AUTHORIZATION
public static final String HEADER_CACHE_CONTROL
public static final String HEADER_CONTENT_ENCODING
public static final String HEADER_CONTENT_LENGTH
public static final String HEADER_CONTENT_TYPE
public static final String HEADER_IF_NONE_MATCH
public static final String HEADER_LAST_MODIFIED
public static final String HEADER_PROXY_AUTHORIZATION
public HttpRequest(CharSequence url, String method) throws HttpException
url - Remote resource URL.method - HTTP request method (e.g., "GET", "POST").HttpExceptionpublic HttpRequest(URL url, String method) throws HttpException
url - Remote resource URL.method - HTTP request method (e.g., "GET", "POST").HttpExceptionpublic static void setConnectionFactory(HttpRequest.ConnectionFactory cf)
HttpRequest.ConnectionFactory used to create new requests.public static String encode(CharSequence url) throws HttpException
String
This method ensures the path and query segments of the URL are properly
encoded such as ' ' characters being encoded to '%20' or any UTF-8
characters that are non-ASCII. No encoding of URLs is done by default by
the HttpRequest constructors and so if URL encoding is needed this
method should be called before calling the HttpRequest constructor.
url - HttpExceptionpublic static String append(CharSequence url, Map<?,?> params)
Each map entry's key will be a parameter name and the value's
Object.toString() will be the parameter value.
url - params - public static String append(CharSequence url, Object... params)
The params argument is interpreted as a sequence of name/value pairs so the given number of params must be divisible by 2.
url - params - name/value pairspublic static HttpRequest get(CharSequence url) throws HttpException
url - HttpExceptionpublic static HttpRequest get(URL url) throws HttpException
url - HttpExceptionpublic static HttpRequest get(CharSequence baseUrl, Map<?,?> params, boolean encode)
baseUrl - params - The query parameters to include as part of the baseUrlencode - true to encode the full URLappend(CharSequence, Map),
encode(CharSequence)public static HttpRequest get(CharSequence baseUrl, boolean encode, Object... params)
baseUrl - encode - true to encode the full URLparams - the name/value query parameter pairs to
include as part of the baseUrlappend(CharSequence, Object...),
encode(CharSequence)public static HttpRequest post(CharSequence url) throws HttpException
url - HttpExceptionpublic static HttpRequest post(URL url) throws HttpException
url - HttpExceptionpublic static HttpRequest post(CharSequence baseUrl, Map<?,?> params, boolean encode)
baseUrl - params - the query parameters to include as part of the baseUrlencode - true to encode the full URLappend(CharSequence, Map),
encode(CharSequence)public static HttpRequest post(CharSequence baseUrl, boolean encode, Object... params)
baseUrl - encode - true to encode the full URLparams - the name/value query parameter pairs to
include as part of the baseUrlappend(CharSequence, Object...),
encode(CharSequence)public static HttpRequest put(CharSequence url) throws HttpException
url - HttpExceptionpublic static HttpRequest put(URL url) throws HttpException
url - HttpExceptionpublic static HttpRequest put(CharSequence baseUrl, Map<?,?> params, boolean encode)
baseUrl - params - the query parameters to include as part of the baseUrlencode - true to encode the full URLappend(CharSequence, Map),
encode(CharSequence)public static HttpRequest put(CharSequence baseUrl, boolean encode, Object... params)
baseUrl - encode - true to encode the full URLparams - the name/value query parameter pairs to
include as part of the baseUrlappend(CharSequence, Object...),
encode(CharSequence)public static HttpRequest delete(CharSequence url) throws HttpException
url - HttpExceptionpublic static HttpRequest delete(URL url) throws HttpException
url - HttpExceptionpublic static HttpRequest delete(CharSequence baseUrl, Map<?,?> params, boolean encode)
baseUrl - params - The query parameters to include as part of the baseUrlencode - true to encode the full URLappend(CharSequence, Map),
encode(CharSequence)public static HttpRequest delete(CharSequence baseUrl, boolean encode, Object... params)
baseUrl - encode - true to encode the full URLparams - the name/value query parameter pairs to
include as part of the baseUrlappend(CharSequence, Object...),
encode(CharSequence)public static HttpRequest head(CharSequence url) throws HttpException
url - HttpExceptionpublic static HttpRequest head(URL url) throws HttpException
url - HttpExceptionpublic static HttpRequest head(CharSequence baseUrl, Map<?,?> params, boolean encode)
baseUrl - params - The query parameters to include as part of the baseUrlencode - true to encode the full URLappend(CharSequence, Map),
encode(CharSequence)public static HttpRequest head(CharSequence baseUrl, boolean encode, Object... params)
baseUrl - encode - true to encode the full URLparams - the name/value query parameter pairs to include
as part of the baseUrlappend(CharSequence, Object...),
encode(CharSequence)public static HttpRequest options(CharSequence url) throws HttpException
url - HttpExceptionpublic static HttpRequest options(URL url) throws HttpException
url - HttpExceptionpublic static HttpRequest trace(CharSequence url) throws HttpException
url - HttpExceptionpublic static HttpRequest trace(URL url) throws HttpException
url - HttpExceptionpublic static void keepAlive(boolean keepAlive)
This setting will apply to all requests.
keepAlive - public static void maxConnections(int maxConnections)
This setting will apply to all requests.
maxConnections - public static void proxyHost(String host)
This setting will apply to all requests.
host - public static void proxyPort(int port)
This setting will apply to all requests.
port - public static void nonProxyHosts(String... hosts)
Hosts will be separated by a '|' character.
This setting will apply to all requests.
hosts - public HttpURLConnection getConnection()
public HttpRequest ignoreCloseExceptions(boolean ignore)
Closeable.close()
The default value of this setting is true
ignore - public boolean ignoreCloseExceptions()
Closeable.close() are
ignoredpublic int code()
throws HttpException
HttpExceptionpublic HttpRequest code(AtomicInteger output) throws HttpException
AtomicInteger to the status code of the
responseoutput - HttpExceptionpublic boolean ok()
throws HttpException
HttpExceptionpublic boolean created()
throws HttpException
HttpExceptionpublic boolean noContent()
throws HttpException
HttpExceptionpublic boolean serverError()
throws HttpException
HttpExceptionpublic boolean badRequest()
throws HttpException
HttpExceptionpublic boolean notFound()
throws HttpException
HttpExceptionpublic boolean notModified()
throws HttpException
HttpExceptionpublic HttpStatus status()
public String message() throws HttpException
HttpExceptionpublic HttpRequest disconnect()
public HttpRequest chunk(int size)
size - public HttpRequest bufferSize(int size)
This size is also used for send and receive buffers created for both char and byte arrays
The default buffer size is 8,192 bytes
size - public int bufferSize()
The default buffer size is 8,192 bytes
public HttpRequest decompress(boolean decompress)
This will only affect requests that have the 'Content-Encoding' response header set to 'gzip'.
This causes all receive methods to use a GZIPInputStream when
applicable so that higher level streams and readers can read the data
decompress.
Setting this option does not cause any request headers to be set
automatically so acceptGzipEncoding() should be used in
conjunction with this setting to tell the server to gzip the response.
decompress - protected ByteArrayOutputStream byteStream()
public String body(String charset) throws HttpException
String in given character set
This will fall back to using the UTF-8 character set if the given charset is null
charset - HttpExceptionpublic String body() throws HttpException
HttpExceptionpublic HttpRequest body(AtomicReference<String> output) throws HttpException
String and set it as the value of the
given reference.output - HttpExceptionpublic HttpRequest body(AtomicReference<String> output, String charset) throws HttpException
String and set it as the value of the
given reference.output - charset - HttpExceptionpublic boolean isBodyEmpty()
throws HttpException
HttpExceptionpublic byte[] bytes()
public BufferedInputStream buffer() throws HttpException
HttpExceptionbufferSize(int)public InputStream stream() throws HttpException
HttpExceptionpublic InputStreamReader reader(String charset) throws HttpException
This will fall back to using the UTF-8 character set if the given charset is null
charset - HttpExceptionpublic InputStreamReader reader() throws HttpException
charset()HttpExceptionpublic BufferedReader bufferedReader(String charset) throws HttpException
charset - HttpExceptionbufferSize(int)public BufferedReader bufferedReader() throws HttpException
charset() and the configured buffer sizeHttpExceptionbufferSize(int)public HttpRequest receive(File file) throws HttpException
file - HttpExceptionpublic HttpRequest receive(OutputStream output)
output - public HttpRequest receive(PrintStream output) throws HttpException
output - HttpExceptionpublic HttpRequest receive(Appendable appendable) throws HttpException
appendable - HttpExceptionpublic HttpRequest receive(Writer writer) throws HttpException
writer - HttpExceptionpublic HttpRequest readTimeout(int timeout)
timeout - public HttpRequest connectTimeout(int timeout)
timeout - public HttpRequest header(String name, String value)
name - value - public HttpRequest header(String name, Number value)
name - value - public HttpRequest headers(Map<String,String> headers)
headers - public HttpRequest header(Map.Entry<String,String> header)
header - public String header(String name) throws HttpException
name - HttpExceptionpublic Map<String,List<String>> headers() throws HttpException
HttpExceptionpublic long dateHeader(String name) throws HttpException
name - HttpExceptionpublic long dateHeader(String name, long defaultValue) throws HttpException
name - defaultValue - HttpExceptionpublic int intHeader(String name) throws HttpException
name - HttpExceptionpublic int intHeader(String name, int defaultValue) throws HttpException
name - defaultValue - HttpExceptionpublic String[] headers(String name)
name - String header valuespublic String parameter(String headerName, String paramName)
headerName - paramName - public Map<String,String> parameters(String headerName)
This will be all key=value pairs after the first ';' that are separated by a ';'
headerName - protected Map<String,String> getParams(String header)
header - protected String getParam(String value, String paramName)
value - paramName - public String charset()
public HttpRequest userAgent(String userAgent)
userAgent - public HttpRequest referer(String referer)
referer - public HttpRequest useCaches(boolean useCaches)
URLConnection.setUseCaches(boolean)useCaches - public HttpRequest acceptEncoding(String acceptEncoding)
acceptEncoding - public HttpRequest acceptGzipEncoding()
decompress(boolean)public HttpRequest acceptCharset(String acceptCharset)
acceptCharset - public String contentEncoding()
public String server()
public long date()
public String cacheControl()
public String eTag()
public long expires()
public long lastModified()
public String location()
public HttpRequest authorization(String authorization)
authorization - public HttpRequest proxyAuthorization(String proxyAuthorization)
proxyAuthorization - public HttpRequest basic(String name, String password)
name - password - public HttpRequest proxyBasic(String name, String password)
name - password - public HttpRequest ifModifiedSince(long ifModifiedSince)
ifModifiedSince - public HttpRequest ifNoneMatch(String ifNoneMatch)
ifNoneMatch - public HttpRequest contentType(String contentType)
contentType - public HttpRequest contentType(String contentType, String charset)
contentType - charset - public String contentType()
public int contentLength()
public HttpRequest contentLength(String contentLength)
contentLength - public HttpRequest contentLength(int contentLength)
contentLength - public HttpRequest accept(String accept)
accept - public HttpRequest acceptJson()
protected HttpRequest copy(InputStream input, OutputStream output)
input - output - IOExceptionprotected HttpRequest copy(Reader input, Writer output)
input - output - IOExceptionpublic HttpRequest progress(HttpRequest.UploadProgress callback)
callback - protected HttpRequest closeOutput() throws IOException
HttpExceptionIOExceptionprotected HttpRequest closeOutputQuietly() throws HttpException
HttpExceptionprotected HttpRequest openOutput() throws IOException
IOExceptionprotected HttpRequest startPart() throws IOException
IOExceptionprotected HttpRequest writePartHeader(String name, String filename)
name - filename - IOExceptionprotected HttpRequest writePartHeader(String name, String filename, String contentType)
name - filename - contentType - IOExceptionpublic HttpRequest part(String name, String part)
name - part - public HttpRequest part(String name, String filename, String part) throws HttpException
name - filename - part - HttpExceptionpublic HttpRequest part(String name, String filename, String contentType, String part) throws HttpException
name - filename - contentType - value of the Content-Type part headerpart - HttpExceptionpublic HttpRequest part(String name, Number part) throws HttpException
name - part - HttpExceptionpublic HttpRequest part(String name, String filename, Number part)
name - filename - part - public HttpRequest part(String name, File part) throws HttpException
name - part - HttpExceptionpublic HttpRequest part(String name, String filename, File part) throws HttpException
name - filename - part - HttpExceptionpublic HttpRequest part(String name, String filename, String contentType, File part) throws HttpException
name - filename - contentType - value of the Content-Type part headerpart - HttpExceptionpublic HttpRequest part(String name, InputStream part) throws HttpException
name - part - HttpExceptionpublic HttpRequest part(String name, String filename, String contentType, InputStream part) throws HttpException
name - filename - contentType - value of the Content-Type part headerpart - HttpExceptionpublic HttpRequest partHeader(String name, String value) throws HttpException
name - value - HttpExceptionpublic HttpRequest send(File input) throws HttpException
input - HttpExceptionpublic HttpRequest send(byte[] input) throws HttpException
input - HttpExceptionpublic HttpRequest send(InputStream input) throws HttpException
The given stream will be closed once sending completes
input - HttpExceptionpublic HttpRequest send(Reader input) throws HttpException
The given reader will be closed once sending completes
input - HttpExceptionpublic HttpRequest send(CharSequence value) throws HttpException
The charset configured via contentType(String) will be used and
UTF-8 will be used if it is unset.
value - HttpExceptionpublic OutputStreamWriter writer() throws HttpException
HttpExceptionpublic HttpRequest form(Map<?,?> values) throws HttpException
The pairs specified will be URL-encoded in UTF-8 and sent with the 'application/x-www-form-urlencoded' content-type
values - HttpExceptionpublic HttpRequest form(Map.Entry<?,?> entry) throws HttpException
The pair specified will be URL-encoded in UTF-8 and sent with the 'application/x-www-form-urlencoded' content-type
entry - HttpExceptionpublic HttpRequest form(Map.Entry<?,?> entry, String charset) throws HttpException
The pair specified will be URL-encoded and sent with the 'application/x-www-form-urlencoded' content-type
entry - charset - HttpExceptionpublic HttpRequest form(Object name, Object value) throws HttpException
The pair specified will be URL-encoded in UTF-8 and sent with the 'application/x-www-form-urlencoded' content-type
name - value - HttpExceptionpublic HttpRequest form(Object name, Object value, String charset) throws HttpException
The values specified will be URL-encoded and sent with the 'application/x-www-form-urlencoded' content-type
name - value - charset - HttpExceptionpublic HttpRequest form(Map<?,?> values, String charset) throws HttpException
values - charset - HttpExceptionpublic HttpRequest trustAllCerts() throws HttpException
This method does nothing if the current request is not a HTTPS request
HttpExceptionpublic HttpRequest setSSLSocketFactory(SSLSocketFactory factory)
factory - SSLSocketFactorypublic HttpRequest trustAllHosts()
HostnameVerifier that always returns true for each
host verified
This method does nothing if the current request is not a HTTPS request
public String method()
public HttpRequest useProxy(String proxyHost, int proxyPort)
proxyBasic(String, String) if
this proxy requires basic authentication.proxyHost - proxyPort - public HttpRequest followRedirects(boolean followRedirects)
followRedirects - - true fo follow redirects, false to not.Copyright © 2023. All rights reserved.