BrazeEx.RequestBuilder (braze_ex v1.0.22)
Helper functions for building Tesla requests
Link to this section 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 the response from a Tesla request. Decode the response for a Tesla request.
Specify the request method
when building a request.
Specify the request URL when building a request.
Link to this section Types
response_mapping()
@type response_mapping() :: [{status_code(), false | %{} | module()}]
status_code()
@type status_code() :: :default | 100..599
Link to this section Functions
add_optional_params(request, definitions, list)
Add optional parameters to the request.
parameters
Parameters
request
(Map) - Collected request optionsdefinitions
(Map) - Map of parameter name to parameter location.options
(KeywordList) - The provided optional parameters
returns
Returns
Map
add_param(request, location, key, value)
Add non-optional parameters to the request.
parameters
Parameters
request
(Map) - Collected request optionslocation
(atom) - Where to put the parameterkey
(atom) - The name of the parametervalue
(any) - The value of the parameter
returns
Returns
Map
ensure_body(request)
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
Parameters
request
(Map) - Collected request options
returns
Returns
Map
evaluate_response(error, mapping)
@spec evaluate_response(Tesla.Env.result(), response_mapping()) :: {:ok, struct()} | Tesla.Env.result()
Evaluate the response from a Tesla request. Decode the response for a Tesla request.
parameters
Parameters
result
(Tesla.Env.result()): The response from Tesla.request/2.mapping
([{http_status, struct}]): The mapping for status to struct for decoding.
returns
Returns
{:ok, struct}
or{:ok, Tesla.Env.t()}
on success{:error, term}
on failure
method(request, method)
Specify the request method
when building a request.
Does not override the method
if one has already been specified.
parameters
Parameters
request
(Map) - Collected request optionsmethod
(atom) - Request method
returns
Returns
Map
url(request, url)
Specify the request URL when building a request.
Does not override the url
if one has already been specified.
parameters
Parameters
request
(Map) - Collected request optionsurl
(String) - Request URL
returns
Returns
Map