Ingram.Marketplace.RequestBuilder (Ingram Marketplace API v1.4.2) View Source

Helper functions for building Tesla requests

Link to this section Summary

Functions

Add optional parameters to the request

Add optional parameters to the request

Handle the response for a Tesla request

Evaluates different Tesla responses to find the correct mapping

Specify the request method when building a request

Specify the request method when building a request

Link to this section Functions

Link to this function

add_optional_params(request, definitions, list)

View Source

Specs

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

Specs

add_param(map(), atom(), atom(), any()) :: map()

Add 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

Specs

decode(Tesla.Env.t() | term(), false | struct() | [struct()]) ::
  {:ok, struct()} | {:ok, Tesla.Env.t()} | {:error, any()}

Handle the response for a Tesla request

Parameters

  • arg1 (Tesla.Env.t | term) - The response object
  • arg2 (:false | struct | [struct]) - The shape of the struct to deserialize into

Returns

on success {:error, term} on failure

Link to this function

evaluate_response(error, mapping)

View Source

Specs

evaluate_response({:error, any()} | {:ok, Tesla.Env.t()}, list()) ::
  {:error, any()} | {:ok, struct()}

Evaluates different Tesla responses to find the correct mapping

Parameters

  • arg1 ({:ok, Tesla.Env.t}) - The response object
  • arg2 ([{200, %InlineResponse200{data: data}]) - The mapping of structs to deserialize into

Returns

on success {:error, term} on failure

Specs

method(map(), atom()) :: map()

Specify the request method when building a request

Parameters

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

Returns

Map

Specs

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

Specify the request method when building a request

Parameters

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

Returns

Map