Class BaseResponse<T>

    • Field Detail

      • headers

        private final Headers headers
      • statusText

        private final java.lang.String statusText
      • statusCode

        private final int statusCode
      • config

        private final Config config
    • Constructor Detail

      • BaseResponse

        protected BaseResponse​(RawResponse response)
      • BaseResponse

        protected BaseResponse​(BaseResponse other)
    • Method Detail

      • getStatus

        public int getStatus()
        Specified by:
        getStatus in interface HttpResponse<T>
        Returns:
        the HTTP status code.
      • getStatusText

        public java.lang.String getStatusText()
        Specified by:
        getStatusText in interface HttpResponse<T>
        Returns:
        status text
      • getHeaders

        public Headers getHeaders()
        Specified by:
        getHeaders in interface HttpResponse<T>
        Returns:
        Response Headers (map) with same case as server response. For instance use getHeaders().getFirst("Location") and not getHeaders().getFirst("location") to get first header "Location"
      • getBody

        public abstract T getBody()
        Specified by:
        getBody in interface HttpResponse<T>
        Returns:
        the body
      • getParsingError

        public java.util.Optional<UnirestParsingException> getParsingError()
        Description copied from interface: HttpResponse
        If the transformation to the body failed by an exception it will be kept here
        Specified by:
        getParsingError in interface HttpResponse<T>
        Returns:
        a possible RuntimeException. Checked exceptions are wrapped in a UnirestException
      • mapBody

        public <V> V mapBody​(java.util.function.Function<T,​V> func)
        Description copied from interface: HttpResponse
        Map the body into another type
        Specified by:
        mapBody in interface HttpResponse<T>
        Type Parameters:
        V - The return type of the function
        Parameters:
        func - a function to transform a body type to something else.
        Returns:
        the return type
      • map

        public <V> HttpResponse<V> map​(java.util.function.Function<T,​V> func)
        Description copied from interface: HttpResponse
        Map the Response into another response with a different body
        Specified by:
        map in interface HttpResponse<T>
        Type Parameters:
        V - The return type of the function
        Parameters:
        func - a function to transform a body type to something else.
        Returns:
        the return type
      • setParsingException

        protected void setParsingException​(java.lang.String originalBody,
                                           java.lang.RuntimeException e)
      • isSuccess

        public boolean isSuccess()
        Specified by:
        isSuccess in interface HttpResponse<T>
        Returns:
        true if the response was a 200-series response and no mapping exception happened, else false
      • ifSuccess

        public HttpResponse<T> ifSuccess​(java.util.function.Consumer<HttpResponse<T>> consumer)
        Description copied from interface: HttpResponse
        If the response was a 200-series response. Invoke this consumer can be chained with ifFailure
        Specified by:
        ifSuccess in interface HttpResponse<T>
        Parameters:
        consumer - a function to consume a HttpResponse
        Returns:
        the same response
      • ifFailure

        public HttpResponse<T> ifFailure​(java.util.function.Consumer<HttpResponse<T>> consumer)
        Description copied from interface: HttpResponse
        If the response was NOT a 200-series response or a mapping exception happened. Invoke this consumer can be chained with ifSuccess
        Specified by:
        ifFailure in interface HttpResponse<T>
        Parameters:
        consumer - a function to consume a HttpResponse
        Returns:
        the same response
      • mapError

        public <E> E mapError​(java.lang.Class<? extends E> errorClass)
        Description copied from interface: HttpResponse
        Map the body into a error class if the response was NOT a 200-series response or a mapping exception happened. Uses the system Object Mapper
        Specified by:
        mapError in interface HttpResponse<T>
        Type Parameters:
        E - the response type
        Parameters:
        errorClass - the class for the error
        Returns:
        the error object
      • getErrorBody

        private java.lang.String getErrorBody()
      • ifFailure

        public <E> HttpResponse<T> ifFailure​(java.lang.Class<? extends E> errorClass,
                                             java.util.function.Consumer<HttpResponse<E>> consumer)
        Description copied from interface: HttpResponse
        If the response was NOT a 200-series response or a mapping exception happened. map the original body into a error type and invoke this consumer can be chained with ifSuccess
        Specified by:
        ifFailure in interface HttpResponse<T>
        Type Parameters:
        E - the type of error class to map the body
        Parameters:
        errorClass - the class of the error type to map to
        consumer - a function to consume a HttpResponse
        Returns:
        the same response
      • getCookies

        public Cookies getCookies()
        Description copied from interface: HttpResponse
        return a cookie collection parse from the set-cookie header
        Specified by:
        getCookies in interface HttpResponse<T>
        Returns:
        a Cookies collection
      • getRawBody

        protected abstract java.lang.String getRawBody()