# File lib/restclient/request.rb, line 58
    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
          # Accept can be composed of several comma-separated values
          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