Class Call.Builder<R>

java.lang.Object
io.github.devlibx.easy.http.util.Call.Builder<R>
Enclosing class:
Call<R>

public static class Call.Builder<R> extends Object
Builder class
  • Constructor Details

    • Builder

      public Builder(Class<R> responseClass)
  • Method Details

    • withResponseBuilder

      public Call.Builder<R> withResponseBuilder(Call.IResponseBuilderFunc<R> responseBuilder)
      Parameters:
      responseBuilder - a build from byte array to desired type
    • build

      public Call<R> build()
      Returns:
      a call object
    • withServerAndApi

      public Call.Builder<R> withServerAndApi(String server, String api)
      Parameters:
      api - name of the API
      Returns:
      builder object
    • withRequestBodyFunc

      public Call.Builder<R> withRequestBodyFunc(io.vavr.Function0<byte[]> requestBodyFunc)
      Parameters:
      requestBodyFunc - a function to return byte array - used when user wants to write custom object to byte array implementation
    • withBody

      public Call.Builder<R> withBody(Object body)
      Parameters:
      body - body to be passed in the request
      Returns:
      builder object
    • asContentTypeJson

      public Call.Builder<R> asContentTypeJson()
      Sets request content-type header as application/json
      Returns:
      builder object
    • asContentTypeProtoBuffer

      public Call.Builder<R> asContentTypeProtoBuffer()
      Sets request content-type header as application/x-protobuf
      Returns:
      builder object
    • asContentTypeProtoBufferJson

      public Call.Builder<R> asContentTypeProtoBufferJson()
      Sets request content-type header as application/x-protobuf
      Returns:
      builder object
    • addPathParam

      public Call.Builder<R> addPathParam(String key, Object value)
      Add a key-value for path param
      Returns:
      builder object
    • addPathParams

      public Call.Builder<R> addPathParams(Object... params)
      Add all key-value for path param. This list size must be even.
      Returns:
      builder object
      Throws:
      RuntimeException - if params size is not even
    • addPathParams

      public Call.Builder<R> addPathParams(Map<String,Object> pathParams)
      Add all key-value for path param.
      Returns:
      builder object
    • addHeader

      public Call.Builder<R> addHeader(String key, Object value)
      Add a key-value for header
      Returns:
      builder object
    • addHeaders

      public Call.Builder<R> addHeaders(Object... headers)
      Add all key-value for headers. This list size must be even.
      Returns:
      builder object
      Throws:
      RuntimeException - if headers size is not even
    • addHeaders

      public Call.Builder<R> addHeaders(Map<String,Object> headers)
      Add all key-value for header
      Returns:
      builder object
    • addQueryParam

      public Call.Builder<R> addQueryParam(String key, Object value)
      Add a key-value for query params
      Returns:
      builder object
    • addQueryParams

      public Call.Builder<R> addQueryParams(Object... queryParams)
      Add all key-value for query params. This list size must be even.
      Returns:
      builder object
      Throws:
      RuntimeException - if queryParams size is not even
    • addQueryParams

      public Call.Builder<R> addQueryParams(javax.ws.rs.core.MultivaluedHashMap<String,Object> queryParams)
      Add all key-value for query params
      Returns:
      builder object
    • addQueryParams

      public Call.Builder<R> addQueryParams(Map<String,Object> queryParams)
      Add all key-value for query params
      Returns:
      builder object