Package com.jcabi.http.request
Class ApacheRequest
- java.lang.Object
-
- com.jcabi.http.request.ApacheRequest
-
- All Implemented Interfaces:
Request
@Immutable @Loggable(1) public final class ApacheRequest extends Object implements Request
Implementation ofRequest, based on Apache HTTP client.The class is immutable and thread-safe.
- Since:
- 0.8
- To do:
- #200:30m TrustedWire does not support ApacheRequest. Investigate if it's possible for them to work together, if not see jcabi-http#178 for discussion about alternative solutions.
- Suppressed Checkstyle violations:
- ClassDataAbstractionCoupling (500 lines)
-
-
Constructor Summary
Constructors Constructor Description ApacheRequest(String uri)Public ctor.ApacheRequest(URI uri)Public ctor.ApacheRequest(URL url)Public ctor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RequestBodybody()Get request body.Responsefetch()Execute it with a specified HTTP method.Responsefetch(InputStream stream)Execute this request using the content provided by theInputStreambeing passed as the request body.Requestheader(String name, Object value)Set request header.Requestmethod(String method)Use this method.RequestBodymultipartBody()Get multipart form (multipart/form-data) body.Requestreset(String name)Remove all headers with this name.Requestthrough(Wire wire)Send it through a decoratingWire.<T extends Wire>
Requestthrough(Class<T> type, Object... args)Send it through a decoratingWire.Requesttimeout(int connect, int read)Use this timeout values.RequestURIuri()Get destination URI.
-
-
-
Constructor Detail
-
ApacheRequest
public ApacheRequest(URL url)
Public ctor.- Parameters:
url- The resource to work with
-
ApacheRequest
public ApacheRequest(URI uri)
Public ctor.- Parameters:
uri- The resource to work with
-
ApacheRequest
public ApacheRequest(String uri)
Public ctor.- Parameters:
uri- The resource to work with
-
-
Method Detail
-
uri
public RequestURI uri()
Description copied from interface:RequestGet destination URI.
-
header
public Request header(String name, Object value)
Description copied from interface:RequestSet request header.
-
reset
public Request reset(String name)
Description copied from interface:RequestRemove all headers with this name.
-
body
public RequestBody body()
Description copied from interface:RequestGet request body.
-
multipartBody
public RequestBody multipartBody()
Description copied from interface:RequestGet multipart form (multipart/form-data) body.- Specified by:
multipartBodyin interfaceRequest- Returns:
- New altered request
-
method
public Request method(String method)
Description copied from interface:RequestUse this method.
-
timeout
public Request timeout(int connect, int read)
Description copied from interface:RequestUse this timeout values.
-
fetch
public Response fetch() throws IOException
Description copied from interface:RequestExecute it with a specified HTTP method.- Specified by:
fetchin interfaceRequest- Returns:
- Response
- Throws:
IOException- If fails to fetch HTTP request
-
fetch
public Response fetch(InputStream stream) throws IOException
Description copied from interface:RequestExecute this request using the content provided by theInputStreambeing passed as the request body. Note that the request MUST have an empty body when this method is being invoked, or it will throw anIllegalStateException.- Specified by:
fetchin interfaceRequest- Parameters:
stream- The input stream to use- Returns:
- Response
- Throws:
IOException- If fails to fetch HTTP request
-
through
public <T extends Wire> Request through(Class<T> type, Object... args)
Description copied from interface:RequestSend it through a decoratingWire.
-
-