async def set_context(self, request: Request) -> dict:
        """
        You might want to override this method.

        The dict it returns will be saved in the scope of a context. You can
        always do that later.
        """
        return {
            plugin.key: await plugin.process_request(request)
            for plugin in self.plugins
        }

        You might want to override this method.

        The dict it returns will be saved in the scope of a context. You can
        always do that later.
        
starlette_context/middleware/context_middleware.py