Skip to content

JKCT/aws4_request

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aws4_request

An AWS Signature Version 4 client implementation, useful for making authenticated requests to services such as AWS S3.

Package Version Hex Docs

gleam add aws4_request
import gleam/httpc
import aws4_request
import gleam/http/request

pub fn main() {
  let access_key_id = "AKIDEXAMPLE"
  let secret_access_key = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  let region = "us-east-1"
  let service = "iam"
  let date_time = #(#(2015, 8, 30), #(12, 36, 0))
  let assert Ok(request) =
    request.to("https://iam.amazonaws.com/?Action=ListUsers&Version=2010-05-08")
  let request = request.Request(..request, headers: [
    #("host", "iam.amazonaws.com"),
    #("content-type", "application/x-www-form-urlencoded; charset=utf-8"),
  ])
  let request =
    request
    |> request.set_method(http.Get)
    |> request.set_body(<<>>)

  let signed_request =
    aws4_request.sign(
      request,
      date_time,
      access_key_id,
      secret_access_key,
      region,
      service,
    )

  // Now send the signed request with a HTTP client
  httpc.send(signed_request)
}

Further documentation can be found at https://hexdocs.pm/aws4_request.

About

sts-token

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Gleam 100.0%