docs: def get_session(self, sid, namespace=None):
          """Return the user session for a client.
  
          :param sid: The session id of the client.
          :param namespace: The Socket.IO namespace. If this argument is omitted
                            the default namespace is used.
  
          The return value is a dictionary. Modifications made to this
          dictionary are not guaranteed to be preserved unless
          ``save_session()`` is called, or when the ``session`` context manager
          is used.
          """
          namespace = namespace or '/'
          eio_session = self.eio.get_session(sid)
          return eio_session.setdefault(namespace, {})