code: def make_headers(user_headers)
        headers = stringify_headers(default_headers).merge(stringify_headers(user_headers))
  
        # override headers from the payload (e.g. Content-Type, Content-Length)
        if @payload
          payload_headers = @payload.headers
  
          # Warn the user if we override any headers that were previously
          # present. This usually indicates that rest-client was passed
          # conflicting information, e.g. if it was asked to render a payload as
          # x-www-form-urlencoded but a Content-Type application/json was
          # also supplied by the user.
          payload_headers.each_pair do |key, val|
            if headers.include?(key) && headers[key] != val
              warn("warning: Overriding #{key.inspect} header " +
                   "#{headers.fetch(key).inspect} with #{val.inspect} " +
                   "due to payload")
            end
          end
  
          headers.merge!(payload_headers)
        end
  
        # merge in cookies
        cookies = make_cookie_header
        if cookies && !cookies.empty?
          if headers['Cookie']
            warn('warning: overriding "Cookie" header with :cookies option')
          end
          headers['Cookie'] = cookies
        end
  
        headers
      end
docs: Generate headers for use by a request. Header keys will be stringified
   using `#stringify_headers` to normalize them as capitalized strings.
  
   The final headers consist of:
     - default headers from #default_headers
     - user_headers provided here
     - headers from the payload object (e.g. Content-Type, Content-Lenth)
     - cookie headers from #make_cookie_header
  
   BUG: stringify_headers does not alter the capitalization of headers that
   are passed as strings, it only normalizes those passed as symbols. This
   behavior will probably remain for a while for compatibility, but it means
   that the warnings that attempt to detect accidental header overrides may
   not always work.
   https://github.com/rest-client/rest-client/issues/599
  
   @param [Hash] user_headers User-provided headers to include
  
   @return [Hash<String, String>] A hash of HTTP headers => values