Module aws_sigv4::event_stream

source ·
Expand description

Utilities to sign Event Stream messages.

Example: Signing an event stream message

use aws_sigv4::event_stream::{sign_message, SigningParams};
use aws_smithy_eventstream::frame::{Header, HeaderValue, Message};
use std::time::SystemTime;

// The `last_signature` argument is the previous message's signature, or
// the signature of the initial HTTP request if a message hasn't been signed yet.
let last_signature = "example298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";

let message_to_sign = Message::new(&b"example"[..]).add_header(Header::new(
    "some-header",
    HeaderValue::String("value".into()),
));

let params = SigningParams::builder()
    .access_key("example access key")
    .secret_key("example secret key")
    .region("us-east-1")
    .service_name("exampleservice")
    .time(SystemTime::now())
    .settings(())
    .build()
    .unwrap();

// Use the returned `signature` to sign the next message.
let (signed, signature) =
    sign_message(&message_to_sign, &last_signature, &params).into_parts();

Functions

Type Definitions