SigV4 v1.0.0
SigV4 Library for AWS Authentication
SigV4HttpParameters_t Struct Reference

Configurations of the HTTP request used to create the Canonical Request. More...

#include <sigv4.h>

Data Fields

const char * pHttpMethod
 The HTTP method: GET, POST, PUT, etc.
 
size_t httpMethodLen
 Length of pHttpMethod.
 
uint32_t flags
 These flags are used to indicate if the path, query, or headers are already in the canonical form. This is to bypass the internal sorting, white space trimming, and encoding done by the library. This is a performance optimization option. Please see https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html for information on generating a canonical path, query, and headers string. More...
 
const char * pPath
 The path in the HTTP request. This is the absolute request URI, which contains everything in the URI following the HTTP host until the question mark character ("?") that begins any query string parameters (e.g. "/path/to/item.txt"). If SIGV4_HTTP_PATH_IS_CANONICAL_FLAG is set, then this input must already be in canonical form. More...
 
size_t pathLen
 Length of pPath.
 
const char * pQuery
 The HTTP request query from the URL, if it exists. This contains all characters following the question mark character ("?") that denotes the start of the query. If SIGV4_HTTP_QUERY_IS_CANONICAL_FLAG is set, then this input must already be in canonical form. More...
 
size_t queryLen
 Length of pQuery.
 
const char * pHeaders
 The headers from the HTTP request that we want to sign. This should be the raw headers in HTTP request format. If SIGV4_HTTP_HEADERS_IS_CANONICAL_FLAG is set, then this input must already be in canonical form. More...
 
size_t headersLen
 Length of pHeaders.
 
const char * pPayload
 The HTTP response body, if one exists (ex. PUT request). If this body is chunked, then this field should be set with STREAMING-AWS4-HMAC-SHA256-PAYLOAD.
 
size_t payloadLen
 Length of pPayload.
 

Detailed Description

Configurations of the HTTP request used to create the Canonical Request.

Field Documentation

◆ flags

uint32_t SigV4HttpParameters_t::flags

These flags are used to indicate if the path, query, or headers are already in the canonical form. This is to bypass the internal sorting, white space trimming, and encoding done by the library. This is a performance optimization option. Please see https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html for information on generating a canonical path, query, and headers string.

◆ pPath

const char* SigV4HttpParameters_t::pPath

The path in the HTTP request. This is the absolute request URI, which contains everything in the URI following the HTTP host until the question mark character ("?") that begins any query string parameters (e.g. "/path/to/item.txt"). If SIGV4_HTTP_PATH_IS_CANONICAL_FLAG is set, then this input must already be in canonical form.

Note
If there exists no path for the HTTP request, then this can be NULL.

◆ pQuery

const char* SigV4HttpParameters_t::pQuery

The HTTP request query from the URL, if it exists. This contains all characters following the question mark character ("?") that denotes the start of the query. If SIGV4_HTTP_QUERY_IS_CANONICAL_FLAG is set, then this input must already be in canonical form.

Note
If the HTTP request does not contain query string, this can be NULL.

◆ pHeaders

const char* SigV4HttpParameters_t::pHeaders

The headers from the HTTP request that we want to sign. This should be the raw headers in HTTP request format. If SIGV4_HTTP_HEADERS_IS_CANONICAL_FLAG is set, then this input must already be in canonical form.

Note
The headers data MUST NOT be empty. For HTTP/1.1 requests, it is required that the "host" header MUST be part of the SigV4 signature.

The documentation for this struct was generated from the following file: