debian-mirror-gitlab/faraday-middleware-aws-signers-v4
2019-12-05 21:41:47 +05:30
..
bin New upstream version 12.3.8 2019-12-05 21:41:47 +05:30
lib New upstream version 12.3.8 2019-12-05 21:41:47 +05:30
.gitignore New upstream version 12.3.8 2019-12-05 21:41:47 +05:30
.rspec New upstream version 12.3.8 2019-12-05 21:41:47 +05:30
.travis.yml New upstream version 12.3.8 2019-12-05 21:41:47 +05:30
faraday_middleware-aws-signers-v4.gemspec New upstream version 12.3.8 2019-12-05 21:41:47 +05:30
Gemfile New upstream version 12.3.8 2019-12-05 21:41:47 +05:30
LICENSE.txt New upstream version 12.3.8 2019-12-05 21:41:47 +05:30
Rakefile New upstream version 12.3.8 2019-12-05 21:41:47 +05:30
README.md New upstream version 12.3.8 2019-12-05 21:41:47 +05:30

FaradayMiddleware::AwsSignersV4

Faraday middleware for AWS Signature Version 4.

Gem Version Build Status Coverage Status

Currently developing new gem to support aws-sdk-v3.

see https://github.com/winebarrel/faraday_middleware-aws-sigv4

Installation

Add this line to your application's Gemfile:

gem 'faraday_middleware-aws-signers-v4'

And then execute:

$ bundle

Or install it yourself as:

$ gem install faraday_middleware-aws-signers-v4

Usage

require 'faraday_middleware'
require 'faraday_middleware/aws_signers_v4'
require 'pp'

conn = Faraday.new(url: 'https://apigateway.us-east-1.amazonaws.com') do |faraday|
  faraday.request :aws_signers_v4,
    credentials: Aws::Credentials.new(ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']),
    # If you use the credentials file:
    #credentials: Aws::SharedCredentials.new.credentials,
    service_name: 'apigateway',
    region: 'us-east-1'

  faraday.response :json, :content_type => /\bjson\b/
  faraday.response :raise_error

  faraday.adapter Faraday.default_adapter
end

res = conn.get '/account'
pp res.body
# => {"accountUpdate"=>
#      {"name"=>nil,
#       "template"=>false,
#       "templateSkipList"=>nil,
#       "title"=>nil,
#       "updateAccountInput"=>nil},
#     "cloudwatchRoleArn"=>nil,
#     "self"=>
#      {"__type"=>
#        "GetAccountRequest:http://internal.amazon.com/coral/com.amazonaws.backplane.controlplane/",
#       "name"=>nil,
#       "template"=>false,
#       "templateSkipList"=>nil,
#       "title"=>nil},
#     "throttleSettings"=>{"burstLimit"=>1000, "rateLimit"=>500.0}}