Request.BeginListener, Request.CommitListener, Request.ContentListener, Request.FailureListener, Request.HeadersListener, Request.Listener, Request.QueuedListener, Request.RequestListener, Request.SuccessListener| Modifier and Type | Field and Description |
|---|---|
private java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> |
aborted |
private java.util.Map<java.lang.String,java.lang.Object> |
attributes |
private HttpClient |
client |
private ContentProvider |
content |
private HttpConversation |
conversation |
private java.util.List<java.net.HttpCookie> |
cookies |
private boolean |
followRedirects |
private HttpFields |
headers |
private java.lang.String |
host |
private long |
idleTimeout |
private java.lang.String |
method |
private static java.net.URI |
NULL_URI |
private Fields |
params |
private java.lang.String |
path |
private int |
port |
private java.util.function.BiFunction<Request,Request,Response.CompleteListener> |
pushListener |
private java.lang.String |
query |
private java.util.List<Request.RequestListener> |
requestListeners |
private java.util.List<Response.ResponseListener> |
responseListeners |
private java.lang.String |
scheme |
private long |
timeout |
private long |
timeoutAt |
private java.util.function.Supplier<HttpFields> |
trailers |
private java.net.URI |
uri |
private HttpVersion |
version |
| Modifier | Constructor and Description |
|---|---|
protected |
HttpRequest(HttpClient client,
HttpConversation conversation,
java.net.URI uri) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
abort(java.lang.Throwable cause)
Attempts to abort the send of this request.
|
Request |
accept(java.lang.String... accepts) |
Request |
agent(java.lang.String agent) |
Request |
attribute(java.lang.String name,
java.lang.Object value) |
private java.lang.String |
buildQuery() |
private java.net.URI |
buildURI(boolean withQuery) |
Request |
content(ContentProvider content) |
Request |
content(ContentProvider content,
java.lang.String contentType) |
Request |
cookie(java.net.HttpCookie cookie) |
private void |
extractParams(java.lang.String query) |
Request |
file(java.nio.file.Path file)
Shortcut method to specify a file as a content for this request, with the default content type of
"application/octect-stream".
|
Request |
file(java.nio.file.Path file,
java.lang.String contentType)
Shortcut method to specify a file as a content for this request, with the given content type.
|
Request |
followRedirects(boolean follow) |
java.lang.Throwable |
getAbortCause() |
java.lang.String |
getAgent() |
java.util.Map<java.lang.String,java.lang.Object> |
getAttributes() |
ContentProvider |
getContent() |
protected HttpConversation |
getConversation() |
java.util.List<java.net.HttpCookie> |
getCookies() |
HttpFields |
getHeaders() |
java.lang.String |
getHost() |
long |
getIdleTimeout() |
java.lang.String |
getMethod() |
Fields |
getParams() |
java.lang.String |
getPath() |
int |
getPort() |
java.util.function.BiFunction<Request,Request,Response.CompleteListener> |
getPushListener() |
java.lang.String |
getQuery() |
<T extends Request.RequestListener> |
getRequestListeners(java.lang.Class<T> type) |
protected java.util.List<Response.ResponseListener> |
getResponseListeners() |
java.lang.String |
getScheme() |
long |
getTimeout() |
(package private) long |
getTimeoutAt() |
java.util.function.Supplier<HttpFields> |
getTrailers() |
java.net.URI |
getURI() |
HttpVersion |
getVersion() |
Request |
header(HttpHeader header,
java.lang.String value)
Adds the given
value to the specified header. |
Request |
header(java.lang.String name,
java.lang.String value) |
Request |
idleTimeout(long timeout,
java.util.concurrent.TimeUnit unit) |
boolean |
isFollowRedirects() |
Request |
listener(Request.Listener listener) |
Request |
method(HttpMethod method) |
Request |
method(java.lang.String method) |
private java.net.URI |
newURI(java.lang.String uri) |
Request |
onComplete(Response.CompleteListener listener) |
Request |
onRequestBegin(Request.BeginListener listener) |
Request |
onRequestCommit(Request.CommitListener listener) |
Request |
onRequestContent(Request.ContentListener listener) |
Request |
onRequestFailure(Request.FailureListener listener) |
Request |
onRequestHeaders(Request.HeadersListener listener) |
Request |
onRequestQueued(Request.QueuedListener listener) |
Request |
onRequestSuccess(Request.SuccessListener listener) |
Request |
onResponseBegin(Response.BeginListener listener) |
Request |
onResponseContent(Response.ContentListener listener) |
Request |
onResponseContentAsync(Response.AsyncContentListener listener) |
Request |
onResponseFailure(Response.FailureListener listener) |
Request |
onResponseHeader(Response.HeaderListener listener) |
Request |
onResponseHeaders(Response.HeadersListener listener) |
Request |
onResponseSuccess(Response.SuccessListener listener) |
Request |
param(java.lang.String name,
java.lang.String value)
Adds a query parameter with the given name and value.
|
private Request |
param(java.lang.String name,
java.lang.String value,
boolean fromQuery) |
Request |
path(java.lang.String path)
Specifies the path - and possibly the query - of this request.
|
Request |
pushListener(java.util.function.BiFunction<Request,Request,Response.CompleteListener> listener)
Sets a listener for pushed resources.
|
private Request |
requestListener(Request.RequestListener listener) |
Request |
scheme(java.lang.String scheme) |
ContentResponse |
send()
Sends this request and returns the response.
|
private void |
send(HttpRequest request,
Response.CompleteListener listener) |
void |
send(Response.CompleteListener listener)
Sends this request and asynchronously notifies the given listener for response events.
|
(package private) void |
sent() |
Request |
timeout(long timeout,
java.util.concurrent.TimeUnit unit) |
java.lang.String |
toString() |
HttpRequest |
trailers(java.util.function.Supplier<HttpFields> trailers) |
private java.lang.String |
urlDecode(java.lang.String value) |
private java.lang.String |
urlEncode(java.lang.String value) |
Request |
version(HttpVersion version) |
private static final java.net.URI NULL_URI
private final HttpFields headers
private final Fields params
private final java.util.List<Response.ResponseListener> responseListeners
private final java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> aborted
private final HttpClient client
private final HttpConversation conversation
private final java.lang.String host
private final int port
private java.net.URI uri
private java.lang.String scheme
private java.lang.String path
private java.lang.String query
private java.lang.String method
private HttpVersion version
private long idleTimeout
private long timeout
private long timeoutAt
private ContentProvider content
private boolean followRedirects
private java.util.List<java.net.HttpCookie> cookies
private java.util.Map<java.lang.String,java.lang.Object> attributes
private java.util.List<Request.RequestListener> requestListeners
private java.util.function.BiFunction<Request,Request,Response.CompleteListener> pushListener
private java.util.function.Supplier<HttpFields> trailers
protected HttpRequest(HttpClient client, HttpConversation conversation, java.net.URI uri)
protected HttpConversation getConversation()
public java.lang.String getScheme()
public Request scheme(java.lang.String scheme)
public java.lang.String getHost()
public int getPort()
public java.lang.String getMethod()
public Request method(HttpMethod method)
public Request method(java.lang.String method)
public java.lang.String getPath()
getPath in interface RequestRequest.getQuery()public Request path(java.lang.String path)
RequestUTF-8 URL encoded.
For example, if the value for parameter "currency" is the euro symbol € then the
query string for this parameter must be "currency=%E2%82%AC".
For transparent encoding of parameter values, use Request.param(String, String).public java.lang.String getQuery()
getQuery in interface RequestRequest.getPath(),
Request.getParams()public java.net.URI getURI()
public HttpVersion getVersion()
getVersion in interface Requestpublic Request version(HttpVersion version)
public Request param(java.lang.String name, java.lang.String value)
RequestUTF-8 URL encoded.private Request param(java.lang.String name, java.lang.String value, boolean fromQuery)
public Fields getParams()
public java.lang.String getAgent()
public Request agent(java.lang.String agent)
public Request accept(java.lang.String... accepts)
public Request header(java.lang.String name, java.lang.String value)
header in interface Requestname - the name of the headervalue - the value of the headerRequest.header(HttpHeader, String)public Request header(HttpHeader header, java.lang.String value)
RequestAdds the given value to the specified header.
Multiple calls with the same parameters will add multiple values;
use the value null to remove the header completely.
public java.util.List<java.net.HttpCookie> getCookies()
getCookies in interface Requestpublic Request cookie(java.net.HttpCookie cookie)
public Request attribute(java.lang.String name, java.lang.Object value)
public java.util.Map<java.lang.String,java.lang.Object> getAttributes()
getAttributes in interface Requestpublic HttpFields getHeaders()
getHeaders in interface Requestpublic <T extends Request.RequestListener> java.util.List<T> getRequestListeners(java.lang.Class<T> type)
getRequestListeners in interface RequestT - the type of listener classtype - the class of the listener, or null for all listeners classespublic Request listener(Request.Listener listener)
public Request onRequestQueued(Request.QueuedListener listener)
onRequestQueued in interface Requestlistener - a listener for request queued eventpublic Request onRequestBegin(Request.BeginListener listener)
onRequestBegin in interface Requestlistener - a listener for request begin eventpublic Request onRequestHeaders(Request.HeadersListener listener)
onRequestHeaders in interface Requestlistener - a listener for request headers eventpublic Request onRequestCommit(Request.CommitListener listener)
onRequestCommit in interface Requestlistener - a listener for request commit eventpublic Request onRequestContent(Request.ContentListener listener)
onRequestContent in interface Requestlistener - a listener for request content eventspublic Request onRequestSuccess(Request.SuccessListener listener)
onRequestSuccess in interface Requestlistener - a listener for request success eventpublic Request onRequestFailure(Request.FailureListener listener)
onRequestFailure in interface Requestlistener - a listener for request failure eventprivate Request requestListener(Request.RequestListener listener)
public Request onResponseBegin(Response.BeginListener listener)
onResponseBegin in interface Requestlistener - a listener for response begin eventpublic Request onResponseHeader(Response.HeaderListener listener)
onResponseHeader in interface Requestlistener - a listener for response header eventpublic Request onResponseHeaders(Response.HeadersListener listener)
onResponseHeaders in interface Requestlistener - a listener for response headers eventpublic Request onResponseContent(Response.ContentListener listener)
onResponseContent in interface Requestlistener - a consuming listener for response content eventspublic Request onResponseContentAsync(Response.AsyncContentListener listener)
onResponseContentAsync in interface Requestlistener - an asynchronous listener for response content eventspublic Request onResponseSuccess(Response.SuccessListener listener)
onResponseSuccess in interface Requestlistener - a listener for response success eventpublic Request onResponseFailure(Response.FailureListener listener)
onResponseFailure in interface Requestlistener - a listener for response failure eventpublic Request onComplete(Response.CompleteListener listener)
onComplete in interface Requestlistener - a listener for complete eventpublic Request pushListener(java.util.function.BiFunction<Request,Request,Response.CompleteListener> listener)
Sets a listener for pushed resources.
When resources are pushed from the server, the given listener
is invoked for every pushed resource.
The parameters to the BiFunction are this request and the
synthesized request for the pushed resource.
The BiFunction should return a CompleteListener that
may also implement other listener interfaces to be notified of various
response events, or null to signal that the pushed resource
should be canceled.
listener - a listener for pushed resource eventspublic HttpRequest trailers(java.util.function.Supplier<HttpFields> trailers)
public ContentProvider getContent()
getContent in interface Requestpublic Request content(ContentProvider content)
public Request content(ContentProvider content, java.lang.String contentType)
public Request file(java.nio.file.Path file) throws java.io.IOException
Requestpublic Request file(java.nio.file.Path file, java.lang.String contentType) throws java.io.IOException
Requestpublic boolean isFollowRedirects()
isFollowRedirects in interface Requestpublic Request followRedirects(boolean follow)
followRedirects in interface Requestfollow - whether this request follows redirectspublic long getIdleTimeout()
getIdleTimeout in interface Requestpublic Request idleTimeout(long timeout, java.util.concurrent.TimeUnit unit)
idleTimeout in interface Requesttimeout - the idle timeout for this requestunit - the idle timeout unitpublic long getTimeout()
getTimeout in interface Requestpublic Request timeout(long timeout, java.util.concurrent.TimeUnit unit)
public ContentResponse send() throws java.lang.InterruptedException, java.util.concurrent.TimeoutException, java.util.concurrent.ExecutionException
RequestThis method should be used when a simple blocking semantic is needed, and when it is known that the response content can be buffered without exceeding memory constraints.
For example, this method is not appropriate to download big files from a server; consider using
Request.send(Response.CompleteListener) instead, passing your own Response.Listener or a utility
listener such as InputStreamResponseListener.
The method returns when the complete event is fired.
send in interface RequestContentResponse for this requestjava.lang.InterruptedException - if send thread is interruptedjava.util.concurrent.TimeoutException - if send times outjava.util.concurrent.ExecutionException - if execution failsResponse.CompleteListener.onComplete(Result)public void send(Response.CompleteListener listener)
RequestSends this request and asynchronously notifies the given listener for response events.
This method should be used when the application needs to be notified of the various response events as they happen, or when the application needs to efficiently manage the response content.
The listener passed to this method may implement not only Response.CompleteListener
but also other response listener interfaces, and all the events implemented will be notified.
This allows application code to write a single listener class to handle all relevant events.
private void send(HttpRequest request, Response.CompleteListener listener)
void sent()
long getTimeoutAt()
timeout(long, TimeUnit)protected java.util.List<Response.ResponseListener> getResponseListeners()
public java.util.function.BiFunction<Request,Request,Response.CompleteListener> getPushListener()
public java.util.function.Supplier<HttpFields> getTrailers()
public boolean abort(java.lang.Throwable cause)
Requestpublic java.lang.Throwable getAbortCause()
getAbortCause in interface RequestRequest.abort(Throwable),
or null if this request has not been abortedprivate java.lang.String buildQuery()
private java.lang.String urlEncode(java.lang.String value)
private void extractParams(java.lang.String query)
private java.lang.String urlDecode(java.lang.String value)
private java.net.URI buildURI(boolean withQuery)
private java.net.URI newURI(java.lang.String uri)
public java.lang.String toString()
toString in class java.lang.Object