Module aws_sigv4::http_request [−][src]
Expand description
Utilities to sign HTTP requests.
Example: Signing an HTTP request
use aws_sigv4::http_request::{sign, SigningSettings, SigningParams, SignableRequest};
use chrono::Utc;
use http;
// Create the request to sign
let mut request = http::Request::builder()
.uri("https://some-endpoint.some-region.amazonaws.com")
.body("")
.unwrap();
// Set up information and settings for the signing
let signing_settings = SigningSettings::default();
let signing_params = SigningParams::builder()
.access_key("example access key")
.secret_key("example secret key")
.region("us-east-1")
.service_name("exampleservice")
.date_time(Utc::now())
.settings(signing_settings)
.build()
.unwrap();
// Convert the HTTP request into a signable request
let signable_request = SignableRequest::from(&request);
// Sign and then apply the signature to the request
let (signing_instructions, _signature) = sign(signable_request, &signing_params)?.into_parts();
signing_instructions.apply_to_request(&mut request);
Structs
Represents all of the information necessary to sign an HTTP request.
HTTP-specific signing settings
Enums
HTTP payload checksum type
Config value to specify how to encode the request URL when signing.
A signable HTTP request body
Where to place signing values in the HTTP request
Functions
Produces a signature for the given request
and returns instructions
that can be used to apply that signature to an HTTP request.
Type Definitions
Signing error type
HTTP signing parameters