docs: def _init_session(self):
          '''
          Delayed initialization of Requests Session object.
  
          This is done in order *not* to share the Session object across
          a multiprocessing pool.
          '''
          self._real_session = requests.Session()
          # FIXME: this fails when one runs HTTPS on non-standard ports,
          # e.g. https://tissuemaps.example.org:8443/
          if self._port == 443:
              logger.debug('initializing HTTPS session')
              self._real_base_url = 'https://{host}:{port}'.format(host=self._host, port=self._port)
              self._real_adapter = self._real_session.adapters['https://']
              if self._ca_bundle is not None:
                  logger.debug('use CA bundle: %s', self._ca_bundle)
                  ca_bundle = os.path.expanduser(os.path.expandvars(self._ca_bundle))
                  if not os.path.exists(ca_bundle):
                      raise OSError(
                          'CA bundle file does not exist: {0}'.format(ca_bundle)
                      )
                  self._real_session.verify = ca_bundle
          else:
              logger.debug('initializing HTTP session')
              self._real_base_url = 'http://{host}:{port}'.format(host=self._host, port=self._port)
              self._real_adapter = self._real_session.adapters['http://']
          self._real_session.get(self._real_base_url)
          self._real_session.headers.update({'Host': self._host})
          self._login(self._username, self._password)