class FaradayMiddleware::AwsSigV4
Public Class Methods
new(app, options = nil)
click to toggle source
Calls superclass method
# File lib/faraday_middleware/request/aws_sigv4.rb, line 10 def initialize(app, options = nil) super(app) @signer = Aws::Sigv4::Signer.new(options) @options = options end
Public Instance Methods
call(env)
click to toggle source
# File lib/faraday_middleware/request/aws_sigv4.rb, line 16 def call(env) sign!(env) @app.call(env) end
Private Instance Methods
build_aws_sigv4_request(env)
click to toggle source
# File lib/faraday_middleware/request/aws_sigv4.rb, line 32 def build_aws_sigv4_request(env) { http_method: env.method.to_s, url: seahorse_encode_query(env.url), headers: env.request_headers, body: env.body } end
sign!(env)
click to toggle source
# File lib/faraday_middleware/request/aws_sigv4.rb, line 23 def sign!(env) request = build_aws_sigv4_request(env) signature = @signer.sign_request(request) signature.headers.each do |name, value| env.request_headers[name] = value end end