Package ej.hoka.http

Class HttpResponse


  • public class HttpResponse
    extends Object
    Represents a HTTP Response.
    • Constructor Detail

      • HttpResponse

        public HttpResponse()
        Creates an empty HttpResponse.
    • Method Detail

      • getHeader

        @Nullable
        public String getHeader​(@Nullable
                                String key)
        Returns the header field value associated to the given header field key.
        Parameters:
        key - a header field name (if null, null is returned).
        Returns:
        the replied header field value, null if the header field is not found.
      • getLength

        protected long getLength()
        Returns the length (in bytes) of the response data or -1 if the length is unknown.
        Returns:
        the length (in bytes) of the response data.
      • getMimeType

        @Nullable
        public String getMimeType()
        Returns the MIME-TYPE of the response.
        Returns:
        the response MIME-TYPE.
      • getStatus

        public String getStatus()
        Returns the response status.
        Returns:
        the response status.
      • setData

        public void setData​(@Nullable
                            String data)
        Set the data contained by this response.
        Parameters:
        data - the response data as a byte array (set to empty if null is given)
      • setData

        public void setData​(@Nullable
                            String data,
                            String encoding)
                     throws UnsupportedEncodingException
        Set HttpResponse body using the String data as response data and the encoding.
        Parameters:
        data - the String to be used as response body.
        encoding - the encoding used to transform the String data to bytes. The following encodings can be used:
        • ISO-8859-1 ISO-8859-1 encoding, always supported by the platform
        • UTF-8 UTF-8 encoding, only supported if the "Embed UTF-8 encoding" option is enabled in the Run Configurations. If this option is not set, an UnsupportedEncodingException is thrown.
        • US-ASCII US-ASCII encoding
        Throws:
        UnsupportedEncodingException - when the specified encoding is not supported.
      • setData

        public void setData​(@Nullable
                            byte[] data)
        Set the data contained by this response.
        Parameters:
        data - the response data as a byte array (set to empty if null is given)
      • setData

        public void setData​(InputStream dataStream)
        Sets the InputStream from which the response data can be read.

        This method should be used only if response data length is not known in advance. If the length is known by advance the setData(InputStream, long) should be used instead of this one. When response data is specified with this method, the response must be sent using the chunked transfer-coding which increase the response message size.

        Parameters:
        dataStream - the InputStream from which the response data can be read, the stream will be closed automatically when the response is sent.
      • setData

        public void setData​(InputStream dataStream,
                            long length)
        Sets the InputStream from which the response data can be read.

        This method should be used when response data length is known in advance. It allows to transfer response body without using the chunked transfer-coding. This reduces response message size.

        Parameters:
        dataStream - the InputStream from which the response data can be read, the stream will be closed automatically when the response is sent.
        length - the number of byte to be read from the InputStream.
      • setMimeType

        public final void setMimeType​(String mimeType)
        Set the response MIME-TYPE.
        Parameters:
        mimeType - the response MIME-TYPE to set.
      • setStatus

        public final void setStatus​(String status)
        Set the response status.
        Parameters:
        status - the response status to set. Should be one of the HTTP_STATUS_* constants defined in HttpConstants
      • addCookie

        public void addCookie​(Cookie cookie)
        Adds cookie to the response. Can be invoked multiple times to insert more than one cookie.
        Parameters:
        cookie - the cookie to add.
      • removeCookie

        @Nullable
        public Cookie removeCookie​(String name)
        Remove the cookie mapped by name.
        Parameters:
        name - of the cookie
        Returns:
        the previous value associated with name, or null if there was no mapping for name.