Procore.RequestBuilder (procore_sdk v0.3.0)
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 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.
Types
response_mapping()
@type response_mapping() :: [{status_code(), false | %{} | module()}]
status_code()
@type status_code() :: :default | 100..599
Functions
add_optional_params(request, definitions, list)
Add optional parameters to the request.
Parameters
request(Map) - Collected request optionsdefinitions(Map) - Map of parameter name to parameter location.options(KeywordList) - The provided optional parameters
Returns
Map
add_param(request, location, key, value)
Add non-optional parameters to the request.
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
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
request(Map) - Collected request options
Returns
Map
evaluate_response(error, mapping)
@spec evaluate_response(Tesla.Env.result(), response_mapping()) :: {:ok, struct() | [struct()] | Tesla.Env.t()} | {:error, Tesla.Env.t() | any()}
Evaluate the response from a Tesla request. Decode the response for a Tesla request.
Parameters
result(Tesla.Env.result()): The response from Tesla.request/2.mapping([{http_status, struct}]): The mapping for status to struct for decoding.
Returns
{:ok, struct}, {: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
request(Map) - Collected request optionsmethod(atom) - Request method
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
request(Map) - Collected request optionsurl(String) - Request URL
Returns
Map