def make_headers user_headers
unless @cookies.empty?
user_headers[:cookie] = @cookies.map {|(key, val)| "#{key.to_s}=#{val}" }.sort.join(",")
end
headers = default_headers.merge(user_headers).inject({}) do |final, (key, value)|
target_key = key.to_s.gsub(/_/, '-').capitalize
if 'CONTENT-TYPE' == target_key.upcase
target_value = value.to_s
final[target_key] = MIME::Types.type_for_extension target_value
elsif 'ACCEPT' == target_key.upcase
if value.is_a? Array
target_values = value
else
target_values = value.to_s.split ','
end
final[target_key] = target_values.map{ |ext| MIME::Types.type_for_extension(ext.to_s.strip)}.join(', ')
else
final[target_key] = value.to_s
end
final
end
headers.merge!(@payload.headers) if @payload
headers
end