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 of Request, 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 Details

    • 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 Details

    • uri

      public RequestURI uri()
      Description copied from interface: Request
      Get destination URI.
      Specified by:
      uri in interface Request
      Returns:
      The destination it is currently pointing to
    • header

      public Request header(String name, Object value)
      Description copied from interface: Request
      Set request header.
      Specified by:
      header in interface Request
      Parameters:
      name - ImmutableHeader name
      value - Value of the header to set
      Returns:
      New alternated request
    • reset

      public Request reset(String name)
      Description copied from interface: Request
      Remove all headers with this name.
      Specified by:
      reset in interface Request
      Parameters:
      name - ImmutableHeader name
      Returns:
      New alternated request
    • body

      public RequestBody body()
      Description copied from interface: Request
      Get request body.
      Specified by:
      body in interface Request
      Returns:
      New alternated request
    • multipartBody

      public RequestBody multipartBody()
      Description copied from interface: Request
      Get multipart form (multipart/form-data) body.
      Specified by:
      multipartBody in interface Request
      Returns:
      New altered request
    • method

      public Request method(String method)
      Description copied from interface: Request
      Use this method.
      Specified by:
      method in interface Request
      Parameters:
      method - The method to use
      Returns:
      New alternated request
    • timeout

      public Request timeout(int connect, int read)
      Description copied from interface: Request
      Use this timeout values.
      Specified by:
      timeout in interface Request
      Parameters:
      connect - The connect timeout to use in ms
      read - The read timeout to use in ms
      Returns:
      New alternated request
    • fetch

      public Response fetch() throws IOException
      Description copied from interface: Request
      Execute it with a specified HTTP method.
      Specified by:
      fetch in interface Request
      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 the InputStream 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 an IllegalStateException.
      Specified by:
      fetch in interface Request
      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 decorating Wire.
      Specified by:
      through in interface Request
      Type Parameters:
      T - Type to use
      Parameters:
      type - Type of wire to use
      args - Optional arguments for the wire constructor
      Returns:
      New request with a wire decorated
    • through

      public Request through(Wire wire)
      Description copied from interface: Request
      Send it through a decorating Wire.
      Specified by:
      through in interface Request
      Parameters:
      wire - Wire to use
      Returns:
      New request with a wire decorated