class FaradayMiddleware::AwsSignersV4::Request

Public Class Methods

new(env) click to toggle source
# File lib/faraday_middleware/request/aws_signers_v4.rb, line 6
def initialize(env)
  @env = env
end

Public Instance Methods

body() click to toggle source
# File lib/faraday_middleware/request/aws_signers_v4.rb, line 14
def body
  @env.body || ''
end
endpoint() click to toggle source
# File lib/faraday_middleware/request/aws_signers_v4.rb, line 18
def endpoint
  url = @env.url.dup

  # Escape the query string or the request won't sign correctly
  if url and url.query
    re_escape_query!(url)
  end

  url
end
headers() click to toggle source
# File lib/faraday_middleware/request/aws_signers_v4.rb, line 10
def headers
  @env.request_headers
end
http_method() click to toggle source
# File lib/faraday_middleware/request/aws_signers_v4.rb, line 29
def http_method
  @env.method.to_s.upcase
end

Private Instance Methods

re_escape_query!(url) click to toggle source
# File lib/faraday_middleware/request/aws_signers_v4.rb, line 35
def re_escape_query!(url)
  params = URI.decode_www_form(url.query)

  if params.any? {|k, v| v =~ / / }
    url.query = URI.seahorse_encode_www_form(params)
  end
end