Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lpil/aws4_request
https://github.com/lpil/aws4_request
Last synced: 21 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/lpil/aws4_request
- Owner: lpil
- Created: 2023-11-12T16:18:11.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-17T13:56:36.000Z (3 months ago)
- Last Synced: 2024-11-20T17:49:45.936Z (22 days ago)
- Language: Gleam
- Size: 17.6 KB
- Stars: 4
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
- awesome-gleam - aws4_request - [📚](https://hexdocs.pm/aws4_request/) - An AWS Signature Version 4 client implementation, used for S3 auth, etc (Packages / API Clients)
README
# aws4_request
An AWS Signature Version 4 client implementation, useful for making
authenticated requests to services such as AWS S3.[![Package Version](https://img.shields.io/hexpm/v/aws4_request)](https://hex.pm/packages/aws4_request)
[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/aws4_request/)```sh
gleam add aws4_request
```
```gleam
import gleam/httpc
import aws4_request
import gleam/http/requestpub fn main() {
let assert Ok(request) =
request.to("https://iam.amazonaws.com/?Action=ListUsers&Version=2010-05-08")
let request =
request
|> request.set_header(
"content-type",
"application/x-www-form-urlencoded; charset=utf-8",
)
|> request.set_method(http.Get)
|> request.set_body(<<>>)let signed_request =
aws4_request.signer(
access_key_id: "AKIDEXAMPLE",
secret_access_key: "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
region: "us-east-1",
service: "iam",
)
|> aws4_request.sign_bits(request)// Now send the signed request with a HTTP client
httpc.send_bit(signed_request)
}
```Further documentation can be found at .