new (WWW::Mechanize)

    # File lib/www/mechanize.rb, line 100
        def initialize
          # attr_accessors
          @cookie_jar     = CookieJar.new
          @log            = nil
          @open_timeout   = nil
          @read_timeout   = nil
          @user_agent     = AGENT_ALIASES['Mechanize']
          @watch_for_set  = nil
          @history_added  = nil
          @ca_file        = nil # OpenSSL server certificate file

          # callback for OpenSSL errors while verifying the server certificate
          # chain, can be used for debugging or to ignore errors by always
          # returning _true_
          @verify_callback = nil
          @cert           = nil # OpenSSL Certificate
          @key            = nil # OpenSSL Private Key
          @pass           = nil # OpenSSL Password
          @redirect_ok    = true # Should we follow redirects?

          # attr_readers
          @history        = WWW::Mechanize::History.new
          @pluggable_parser = PluggableParser.new

          # Auth variables
          @user           = nil # Auth User
          @password       = nil # Auth Password
          @digest         = nil # DigestAuth Digest
          @auth_hash      = {}  # Keep track of urls for sending auth
          @request_headers= {}  # A hash of request headers to be used

          # Proxy settings
          @proxy_addr     = nil
          @proxy_pass     = nil
          @proxy_port     = nil
          @proxy_user     = nil

          @conditional_requests = true

          @follow_meta_refresh  = false
          @redirection_limit    = 20

          # Connection Cache & Keep alive
          @connection_cache = {}
          @keep_alive_time  = 300
          @keep_alive       = true

          @scheme_handlers  = Hash.new { |h,k|
            h[k] = lambda { |link, page|
              raise UnsupportedSchemeError.new(k)
            }
          }
          @scheme_handlers['http']      = lambda { |link, page| link }
          @scheme_handlers['https']     = @scheme_handlers['http']
          @scheme_handlers['relative']  = @scheme_handlers['http']
          @scheme_handlers['file']      = @scheme_handlers['http']

          @pre_connect_hook = Chain::PreConnectHook.new
          @post_connect_hook = Chain::PostConnectHook.new

          @html_parser = self.class.html_parser

          yield self if block_given?
        end