# File lib/mechanize/file.rb, line 24
    def initialize(uri=nil, response=nil, body=nil, code=nil)
      @uri, @body, @code = uri, body, code
      @response = Headers.new

      # Copy the headers in to a hash to prevent memory leaks
      if response
        response.each { |k,v|
          @response[k] = v
        }
      end

      @filename = 'index.html'

      # Set the filename
      if disposition = @response['content-disposition']
        disposition.split(/;\s*/).each do |pair|
          k,v = pair.split(/=/, 2)
          @filename = v if k && k.downcase == 'filename'
        end
      else
        if @uri
          @filename = @uri.path.split(/\//).last || 'index.html'
          @filename << ".html" unless @filename =~ /\./
        end
      end

      yield self if block_given?
    end