Package com.jcabi.http.request
Class JdkRequest
- java.lang.Object
-
- com.jcabi.http.request.JdkRequest
-
- All Implemented Interfaces:
Request
@Immutable @Loggable(1) public final class JdkRequest extends Object implements Request
Implementation ofRequest
, based on JDK.This implementation will be enough in most situations. However, sometimes you may need better tuning or an ability to fetch custom HTTP methods (JDK doesn't support PATCH, for example). In this case, use
ApacheRequest
.The class is immutable and thread-safe.
- Since:
- 0.8 // @checkstyle ClassDataAbstractionCoupling (500 lines)
-
-
Constructor Summary
Constructors Constructor Description JdkRequest(String uri)
Public ctor.JdkRequest(URI uri)
Public ctor.JdkRequest(URL url)
Public ctor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RequestBody
body()
Get request body.Response
fetch()
Execute it with a specified HTTP method.Response
fetch(InputStream stream)
Execute this request using the content provided by theInputStream
being passed as the request body.Request
header(String name, Object value)
Set request header.Request
method(String method)
Use this method.RequestBody
multipartBody()
Get multipart form (multipart/form-data) body.Request
reset(String name)
Remove all headers with this name.Request
through(Wire wire)
Send it through a decoratingWire
.<T extends Wire>
Requestthrough(Class<T> type, Object... args)
Send it through a decoratingWire
.Request
timeout(int connect, int read)
Use this timeout values.RequestURI
uri()
Get destination URI.
-
-
-
Constructor Detail
-
JdkRequest
public JdkRequest(URL url)
Public ctor.- Parameters:
url
- The resource to work with
-
JdkRequest
public JdkRequest(URI uri)
Public ctor.- Parameters:
uri
- The resource to work with
-
JdkRequest
public JdkRequest(String uri)
Public ctor.- Parameters:
uri
- The resource to work with
-
-
Method Detail
-
uri
public RequestURI uri()
Description copied from interface:Request
Get destination URI.
-
header
public Request header(String name, Object value)
Description copied from interface:Request
Set request header.
-
reset
public Request reset(String name)
Description copied from interface:Request
Remove all headers with this name.
-
body
public RequestBody body()
Description copied from interface:Request
Get request body.
-
multipartBody
public RequestBody multipartBody()
Description copied from interface:Request
Get multipart form (multipart/form-data) body.- Specified by:
multipartBody
in interfaceRequest
- Returns:
- New altered request
-
method
public Request method(String method)
Description copied from interface:Request
Use this method.
-
timeout
public Request timeout(int connect, int read)
Description copied from interface:Request
Use this timeout values.
-
fetch
public Response fetch() throws IOException
Description copied from interface:Request
Execute it with a specified HTTP method.- Specified by:
fetch
in interfaceRequest
- Returns:
- Response
- Throws:
IOException
- If fails to fetch HTTP request
-
fetch
public Response fetch(InputStream stream) throws IOException
Description copied from interface:Request
Execute this request using the content provided by theInputStream
being 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:
fetch
in 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:Request
Send it through a decoratingWire
.
-
-