class AWS::Core::Http::HTTPartyHandler


)
)
:http_proxyport => 80
:http_proxyaddr => “myproxy.com”,
:http_handler => AWS::Http::HTTPartyHandler.new(
AWS.config(
proxy:
to send extra options to HTTParty, for example to enable an HTTP
it. However, you can directly instantiate this class in order
handler, so you don’t need to do anything special to configure
Makes HTTP requests using HTTParty. This is the default

def handle(request, response)

def handle(request, response)
  opts = default_request_options.merge({
    :body => request.body,
    :parser => NoOpParser
  })
  if request.proxy_uri
    opts[:http_proxyaddr] = request.proxy_uri.host
    opts[:http_proxyport] = request.proxy_uri.port
  end
  if request.use_ssl?
    protocol = 'https'
    opts[:ssl_ca_file] = request.ssl_ca_file if request.ssl_verify_peer?
  else
    protocol = 'http'
  end
  url = "#{protocol}://#{request.host}:#{request.port}#{request.uri}"
  # get, post, put, delete, head
  method = request.http_method.downcase
  # Net::HTTP adds this header for us when the body is
  # provided, but it messes up signing
  headers = { 'content-type' => '' }
  # headers must have string values (net http calls .strip on them)
  request.headers.each_pair do |key,value|
    headers[key] = value.to_s
  end
  opts[:headers] = headers
  begin
    http_response = self.class.send(method, url, opts)
    unless http_response.nil?
      response.body = http_response.body
      response.status = http_response.code.to_i
      response.headers = http_response.to_hash
    end
  rescue Timeout::Error, Errno::ETIMEDOUT => e
    response.timeout = true
  end
end

def initialize options = {}

Parameters:
  • options (Hash) -- Default options to send to HTTParty on
def initialize options = {}
  @default_request_options = options
end