Class BaseResponse<T>

java.lang.Object
kong.unirest.core.BaseResponse<T>
All Implemented Interfaces:
HttpResponse<T>
Direct Known Subclasses:
BasicResponse, ByteResponse, FileResponse, JsonResponse, MockResponse, ObjectResponse, StringResponse

abstract class BaseResponse<T> extends Object implements HttpResponse<T>
  • Field Details

  • Constructor Details

    • BaseResponse

      protected BaseResponse(RawResponse response)
    • BaseResponse

      protected BaseResponse(BaseResponse other)
  • Method Details

    • getStatus

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

      public 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 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(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(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(String originalBody, 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(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(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(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 String getErrorBody()
    • ifFailure

      public <E> HttpResponse<T> ifFailure(Class<? extends E> errorClass, 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
    • getRequestSummary

      public HttpRequestSummary getRequestSummary()
      Specified by:
      getRequestSummary in interface HttpResponse<T>
      Returns:
      a Summary of the HttpRequest that created this response
    • getRawBody

      protected abstract String getRawBody()