code: def _general_init(self, opts, out=None):
          
  
          self.session = Session()
          if out:
              self.out = out
          else:
              self.out = self._output(opts)
  
          is_cms_plugin = self._meta.label != "scan"
          if is_cms_plugin:
              self.vf = VersionsFile(self.versions_file)
  
          # http://stackoverflow.com/questions/23632794/in-requests-library-how-can-i-avoid-httpconnectionpool-is-full-discarding-con
          try:
              a = requests.adapters.HTTPAdapter(pool_maxsize=5000)
              self.session.mount('http://', a)
              self.session.mount('https://', a)
              self.session.cookies.set_policy(BlockAll())
          except AttributeError:
              old_req = """Running a very old version of requests! Please `pip
                  install -U requests`."""
              self.out.warn(old_req)
  
          self.session.verify = False
          self.session.headers['User-Agent'] = self.DEFAULT_UA
  
          debug_requests = opts['debug_requests']
          if debug_requests:
              hide_progressbar = True
              opts['threads_identify'] = 1
              opts['threads_scan'] = 1
              opts['threads_enumerate'] = 1
              self.session = RequestsLogger(self.session)
          else:
              if opts['hide_progressbar']:
                  hide_progressbar = True
              else:
                  hide_progressbar = False
  
          functionality = self._functionality(opts)
          enabled_functionality = self._enabled_functionality(functionality, opts)
  
          return (hide_progressbar, functionality, enabled_functionality)
docs: Initializes a variety of variables depending on user input.
  
              @return: a tuple containing a boolean value indicating whether
              progressbars should be hidden, functionality and enabled
              functionality.