code: def __call__(self, environ, start_response):
      # Skip ExperimentIdMiddleware was already called.
      if WSGI_ENVIRON_KEY in environ:
          return self._application(environ, start_response)
  
      path = environ.get("PATH_INFO", "")
      m = self._pat.match(path)
      if m:
          eid = m.group(1)
          new_path = path[m.end(0) :]
          root = m.group(0)
      else:
          eid = ""
          new_path = path
          root = ""
      environ[WSGI_ENVIRON_KEY] = eid
      environ["PATH_INFO"] = new_path
      environ["SCRIPT_NAME"] = environ.get("SCRIPT_NAME", "") + root
      return self._application(environ, start_response)
  
imports: import re
label_desc: Use image node_id 2 for calling the ExperimentIdMiddleware obj's underlying member method code with example usage: obj.__call__(environ, start_response) and returns: self, self