docs: def _session(self):
          """The current session used by the client.
  
          The Session object allows you to persist certain parameters across
          requests. It also persists cookies across all requests made from
          the Session instance, and will use urllib3's connection pooling.
          So if you're making several requests to the same host, the underlying
          TCP connection will be reused, which can result in a significant
          performance increase.
          """
          if self._http_session is None:
              self._http_session = requests.Session()
              self._http_session.headers.update(self._get_headers())
              self._http_session.verify = self._verify_https_request()
  
              if all(self._credentials):
                  username, password = self._credentials
                  self._http_session.auth = requests_ntlm.HttpNtlmAuth(
                      username=username, password=password)
  
          return self._http_session