# File lib/aws/core/http/net_http_handler.rb, line 56 def build_request request # Net::HTTP adds a content-type header automatically unless its set # and this messes with request signature signing. Also, it expects # all header values to be strings (it call strip on them). headers = { 'content-type' => '' } request.headers.each_pair do |key,value| headers[key] = value.to_s end req_class = case request.http_method when 'GET' then Net::HTTP::Get when 'PUT' then Net::HTTP::Put when 'POST' then Net::HTTP::Post when 'HEAD' then Net::HTTP::Head when 'DELETE' then Net::HTTP::Delete else raise "unsupported http method: #{request.http_method}" end net_http_req = req_class.new(request.uri, headers) net_http_req.body = request.body net_http_req end