View Source DockerEngineAPI.RequestBuilder (testcontainers v1.11.6)

Helper functions for building Tesla requests

Summary

Functions

Add optional parameters to the request.

Add non-optional parameters to the request.

This function ensures that the body parameter is always set.

Evaluate and decode the response from a Tesla request.

Specify the request method when building a request.

Specify the request URL when building a request.

Types

@type response_mapping() :: [{status_code(), false | %{} | module()}]
@type status_code() :: :default | 100..599

Functions

Link to this function

add_optional_params(request, definitions, list)

View Source
@spec add_optional_params(map(), %{optional(atom()) => atom()}, keyword()) :: map()

Add optional parameters to the request.

Parameters

  • request (Map) - Collected request options
  • definitions (Map) - Map of parameter name to parameter location.
  • options (KeywordList) - The provided optional parameters

Returns

Map

Link to this function

add_param(request, location, key, value)

View Source
@spec add_param(map(), atom(), atom(), any()) :: map()

Add non-optional parameters to the request.

Parameters

  • request (Map) - Collected request options
  • location (atom) - Where to put the parameter
  • key (atom) - The name of the parameter
  • value (any) - The value of the parameter

Returns

Map

@spec ensure_body(map()) :: map()

This function ensures that the body parameter is always set.

When using Tesla with the httpc adapter (the default adapter), there is a bug where POST, PATCH and PUT requests will fail if the body is empty.

Parameters

  • request (Map) - Collected request options

Returns

Map

Link to this function

evaluate_response(arg, mapping)

View Source
@spec evaluate_response(Tesla.Env.result(), response_mapping()) ::
  {:ok, struct() | [struct()] | Tesla.Env.t()} | {:error, term()}

Evaluate and decode the response from a Tesla request.

  • result (Tesla.Env.result()): The Tesla response.
  • mapping ([{http_status, struct}]): Status-to-struct mapping for decoding.
@spec method(map(), atom()) :: map()

Specify the request method when building a request.

Does not override the method if one has already been specified.

Parameters

  • request (Map) - Collected request options
  • method (atom) - Request method

Returns

Map

@spec url(map(), String.t()) :: map()

Specify the request URL when building a request.

Does not override the url if one has already been specified.

Parameters

  • request (Map) - Collected request options
  • url (String) - Request URL

Returns

Map