awscr-signer

Version, currently master branch1 version
  • master branchlatestFeb 16, 2026

github.com/weirdbricks/awscr-signer

AWS request signing in Crystal

0 stars
1 dependent
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  awscr-signer:
    github: weirdbricks/awscr-signer
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
>=0.31.0
License
MIT
Author
Taylor Finnell

Dependencies

Development Dependencies

  • ameba*github: crystal-ameba/amebadev
  • timecop*github: crystal-community/timecop.crdev

README

awscr-signer

Crystal interface for AWS Signing.

Supports signing or presigning Crystal HTTP::Request objects.

Installation

Add this to your application's shard.yml:

dependencies:
  awscr-signer:
    github: taylorfinnell/awscr-signer

Usage

Create a Signer::Signers::V4 object.

signer = Awscr::Signer::Signers::V4.new("service", "region", "key", "secret")

or

Create a Signer::Signers::V2 object.

signer = Awscr::Signer::Signers::V2.new("service", "region", "key", "secret")

Signing an HTTP::Request.

signer.sign(request)

Signing an String.

signer.sign("my string")

Presign a HTTP::Request.

signer.presign(request)

Examples

S3

For S3 specific support see awscr-s3.

Known Limitations

The following items are known issues.

  • The request URI can not contain repeating slashes.
  • The request headers can not have new line separted values.
  • The request path can not contain spaces.