Class 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 Detail

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

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