Crystal interface for AWS Signing.
Supports signing or presigning Crystal HTTP::Request
objects.
Add this to your application's shard.yml
:
dependencies:
awscr-signer:
github: taylorfinnell/awscr-signer
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)
For S3 specific support see awscr-s3.
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.