public class HttpRequest extends java.lang.Object implements Request
Request.BeginListener, Request.CommitListener, Request.ContentListener, Request.FailureListener, Request.HeadersListener, Request.Listener, Request.QueuedListener, Request.RequestListener, Request.SuccessListener
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) |
Request |
content(ContentProvider content) |
Request |
content(ContentProvider content,
java.lang.String contentType) |
Request |
cookie(java.net.HttpCookie cookie) |
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() |
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() |
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) |
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.
|
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.
|
Request |
scheme(java.lang.String scheme) |
ContentResponse |
send()
Sends this request and returns the response.
|
void |
send(Response.CompleteListener listener)
Sends this request and asynchronously notifies the given listener for response events.
|
Request |
timeout(long timeout,
java.util.concurrent.TimeUnit unit) |
java.lang.String |
toString() |
HttpRequest |
trailers(java.util.function.Supplier<HttpFields> trailers) |
Request |
version(HttpVersion version) |
protected HttpRequest(HttpClient client, HttpConversation conversation, java.net.URI uri)
public 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 Request
Request.getQuery()
public Request path(java.lang.String path)
Request
UTF-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 Request
Request.getPath()
,
Request.getParams()
public java.net.URI getURI()
public HttpVersion getVersion()
getVersion
in interface Request
public Request version(HttpVersion version)
public Request param(java.lang.String name, java.lang.String value)
Request
UTF-8 URL encoded
.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 Request
name
- the name of the headervalue
- the value of the headerRequest.header(HttpHeader, String)
public Request header(HttpHeader header, java.lang.String value)
Request
Adds 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 Request
public 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 Request
public HttpFields getHeaders()
getHeaders
in interface Request
public <T extends Request.RequestListener> java.util.List<T> getRequestListeners(java.lang.Class<T> type)
getRequestListeners
in interface Request
T
- 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 Request
listener
- a listener for request queued eventpublic Request onRequestBegin(Request.BeginListener listener)
onRequestBegin
in interface Request
listener
- a listener for request begin eventpublic Request onRequestHeaders(Request.HeadersListener listener)
onRequestHeaders
in interface Request
listener
- a listener for request headers eventpublic Request onRequestCommit(Request.CommitListener listener)
onRequestCommit
in interface Request
listener
- a listener for request commit eventpublic Request onRequestContent(Request.ContentListener listener)
onRequestContent
in interface Request
listener
- a listener for request content eventspublic Request onRequestSuccess(Request.SuccessListener listener)
onRequestSuccess
in interface Request
listener
- a listener for request success eventpublic Request onRequestFailure(Request.FailureListener listener)
onRequestFailure
in interface Request
listener
- a listener for request failure eventpublic Request onResponseBegin(Response.BeginListener listener)
onResponseBegin
in interface Request
listener
- a listener for response begin eventpublic Request onResponseHeader(Response.HeaderListener listener)
onResponseHeader
in interface Request
listener
- a listener for response header eventpublic Request onResponseHeaders(Response.HeadersListener listener)
onResponseHeaders
in interface Request
listener
- a listener for response headers eventpublic Request onResponseContent(Response.ContentListener listener)
onResponseContent
in interface Request
listener
- a consuming listener for response content eventspublic Request onResponseContentAsync(Response.AsyncContentListener listener)
onResponseContentAsync
in interface Request
listener
- an asynchronous listener for response content eventspublic Request onResponseSuccess(Response.SuccessListener listener)
onResponseSuccess
in interface Request
listener
- a listener for response success eventpublic Request onResponseFailure(Response.FailureListener listener)
onResponseFailure
in interface Request
listener
- a listener for response failure eventpublic Request onComplete(Response.CompleteListener listener)
onComplete
in interface Request
listener
- 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 Request
public 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
Request
public Request file(java.nio.file.Path file, java.lang.String contentType) throws java.io.IOException
Request
public boolean isFollowRedirects()
isFollowRedirects
in interface Request
public Request followRedirects(boolean follow)
followRedirects
in interface Request
follow
- whether this request follows redirectspublic long getIdleTimeout()
getIdleTimeout
in interface Request
public Request idleTimeout(long timeout, java.util.concurrent.TimeUnit unit)
idleTimeout
in interface Request
timeout
- the idle timeout for this requestunit
- the idle timeout unitpublic long getTimeout()
getTimeout
in interface Request
public Request timeout(long timeout, java.util.concurrent.TimeUnit unit)
public ContentResponse send() throws java.lang.InterruptedException, java.util.concurrent.TimeoutException, java.util.concurrent.ExecutionException
Request
This 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 Request
ContentResponse
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)
Request
Sends 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.
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)
Request
public java.lang.Throwable getAbortCause()
getAbortCause
in interface Request
Request.abort(Throwable)
,
or null if this request has not been abortedpublic java.lang.String toString()
toString
in class java.lang.Object
Copyright © 1995–2023 Webtide. All rights reserved.