Learn R Programming

aws.signature (version 0.2.6)

canonical_request: Construct a Canonical Request

Description

Construct a Canonical Request from request elements

Usage

canonical_request(verb, canonical_uri = "", query_args = list(), canonical_headers, request_body = "")

Arguments

verb
A character string containing the HTTP verb being used in the request.
canonical_uri
A character string containing the “canonical URI”, meaning the contents of the API request URI excluding the host and the query parameters.
query_args
A named list of character strings containing the query string values (if any) used in the API request.
canonical_headers
A named list of character strings containing the headers used in the request.
request_body
The body of the HTTP request, or a filename. If a filename, hashing is performed on the file without reading it into memory.

Value

Details

This function creates a “Canonical Request”, which is part of the Signature Version 4.

References

Create a Canonical Request For Signature Version 4

See Also

signature_v4 signature_v4_auth

Examples

Run this code
# From AWS documentation
# http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html
fromDocs <- "POST
/

content-type:application/x-www-form-urlencoded; charset=utf-8
host:iam.amazonaws.com
x-amz-date:20110909T233600Z

content-type;host;x-amz-date
b6359072c78d70ebee1e81adcbab4f01bf2c23245fa365ef83fe8f1f955085e2"

hdrs <- list(`Content-Type` = "application/x-www-form-urlencoded; charset=utf-8",
             Host = "iam.amazonaws.com",
             `x-amz-date` = "20110909T233600Z")
r <- canonical_request(verb = "POST",
                       canonical_uri = "/",
                       query_args = list(),
                       canonical_headers = hdrs,
                       request_body = "Action=ListUsers&Version=2010-05-08")

identical(fromDocs, r$canonical)
                       

Run the code above in your browser using DataLab