Class FakeRequest

java.lang.Object
com.jcabi.http.request.FakeRequest
All Implemented Interfaces:
Request

@Immutable @Loggable(1) public final class FakeRequest extends Object implements Request
Implementation of Request that always returns the same response, specified in the constructor.

The class is immutable and thread-safe.

Since:
0.9 // @checkstyle ClassDataAbstractionCoupling (500 lines)
  • Constructor Details

    • FakeRequest

      public FakeRequest()
      Public ctor.
    • FakeRequest

      public FakeRequest(int status, String reason, Collection<Map.Entry<String,String>> headers, byte[] body)
      Public ctor.
      Parameters:
      status - HTTP status code to return
      reason - HTTP reason
      headers - HTTP headers
      body - HTTP body
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • 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
    • withStatus

      public FakeRequest withStatus(int status)
      Make a similar request, with the provided status code.
      Parameters:
      status - The code
      Returns:
      New request
    • withReason

      public FakeRequest withReason(String reason)
      Make a similar request, with the provided reason line.
      Parameters:
      reason - Reason line
      Returns:
      New request
    • withHeader

      public FakeRequest withHeader(String name, String value)
      Make a similar request, with the provided HTTP header.
      Parameters:
      name - Name of the header
      value - Value of it
      Returns:
      New request
    • withBody

      public FakeRequest withBody(String text)
      Make a similar request, with the provided body.
      Parameters:
      text - Body
      Returns:
      New request
    • withBody

      public FakeRequest withBody(byte[] body)
      Make a similar request, with the provided body.
      Parameters:
      body - Body
      Returns:
      New request