1#ifndef SOURCEMETA_CORE_HTTP_AWS_SIGV4_H_
2#define SOURCEMETA_CORE_HTTP_AWS_SIGV4_H_
4#ifndef SOURCEMETA_CORE_HTTP_EXPORT
5#include <sourcemeta/core/http_export.h>
15namespace sourcemeta::core {
52 const std::string_view method,
const std::string_view path,
53 const std::string_view query,
54 const std::span<
const std::pair<std::string_view, std::string_view>>
56 const std::string_view payload_hash,
const bool normalize =
true)
76 const std::span<
const std::pair<std::string_view, std::string_view>>
77 headers) -> std::string;
92 const std::string_view date,
const std::string_view region,
93 const std::string_view service) -> std::string;
109 const std::string_view amz_date,
const std::string_view scope,
110 const std::string_view canonical_request) -> std::string;
126 const std::string_view secret,
const std::string_view date,
127 const std::string_view region,
const std::string_view service)
128 -> std::array<std::uint8_t, 32>;
144auto SOURCEMETA_CORE_HTTP_EXPORT
146 const std::string_view string_to_sign) -> std::string;
162 const std::string_view access_key_id,
const std::string_view scope,
163 const std::string_view signed_headers,
const std::string_view signature)
std::string_view session_token
The temporary session token used with short-term credentials.
Definition http_aws_sigv4.h:26
std::string_view secret_access_key
The secret access key.
Definition http_aws_sigv4.h:24
std::string_view access_key_id
The access key identifier.
Definition http_aws_sigv4.h:22
auto SOURCEMETA_CORE_HTTP_EXPORT http_aws_sigv4_string_to_sign(const std::string_view amz_date, const std::string_view scope, const std::string_view canonical_request) -> std::string
auto SOURCEMETA_CORE_HTTP_EXPORT http_aws_sigv4_credential_scope(const std::string_view date, const std::string_view region, const std::string_view service) -> std::string
auto SOURCEMETA_CORE_HTTP_EXPORT http_aws_sigv4_canonical_request(const std::string_view method, const std::string_view path, const std::string_view query, const std::span< const std::pair< std::string_view, std::string_view > > headers, const std::string_view payload_hash, const bool normalize=true) -> std::string
auto SOURCEMETA_CORE_HTTP_EXPORT http_aws_sigv4_signing_key(const std::string_view secret, const std::string_view date, const std::string_view region, const std::string_view service) -> std::array< std::uint8_t, 32 >
auto SOURCEMETA_CORE_HTTP_EXPORT http_aws_sigv4_signed_headers(const std::span< const std::pair< std::string_view, std::string_view > > headers) -> std::string
auto SOURCEMETA_CORE_HTTP_EXPORT http_aws_sigv4_authorization(const std::string_view access_key_id, const std::string_view scope, const std::string_view signed_headers, const std::string_view signature) -> std::string
auto SOURCEMETA_CORE_HTTP_EXPORT http_aws_sigv4_signature(const std::array< std::uint8_t, 32 > &signing_key, const std::string_view string_to_sign) -> std::string