open_payments/request
Values
pub fn send_and_decode(
client: client.Client,
url: String,
method: http.Method,
body: option.Option(json.Json),
token token: option.Option(String),
decoder decoder: decode.Decoder(a),
error_context error_context: String,
) -> Result(a, error.OpenPaymentsError)
Sends a signed request via send_request and decodes the JSON response
body with decoder. A decode failure is wrapped as DecodeError with
error_context <> ": " <> <the underlying decode error>, so callers get
a message that both names the response and shows what went wrong parsing
it.
pub fn send_request(
client: client.Client,
url: String,
method: http.Method,
body: option.Option(json.Json),
token token: option.Option(String),
) -> Result(String, error.OpenPaymentsError)
Sends an HTTP message signed with client’s private key to url, and
returns the response body. When body is given, a content-digest
header is attached and covered by the signature; when token is given,
it is sent as a GNAP authorization header and likewise signed.
pub fn send_unauthenticated_and_decode(
url: String,
decoder decoder: decode.Decoder(a),
error_context error_context: String,
) -> Result(a, error.OpenPaymentsError)
Sends send_unauthenticated_request and decodes the JSON response body
with decoder. A decode failure is wrapped as DecodeError with
error_context <> ": " <> <the underlying decode error>.
pub fn send_unauthenticated_request(
url: String,
) -> Result(String, error.OpenPaymentsError)
Sends an unsigned GET request to url and returns the response body.
Used for endpoints that don’t require an access token or request
signature, such as fetching wallet address details.