Skip to content

when use starlette's SessionMiddleware, an error occured #294

@ockan

Description

@ockan
from starlette.middleware.sessions import SessionMiddleware
from ellar.core.middleware import Middleware

class AppConfig(Config):
    SECRET_KEY = secret_key    
    MIDDLEWARE = [Middleware(SessionMiddleware, max_age=14 * 24 * 60 * 60)]

got

INFO:     Started server process [20168]
INFO:     Waiting for application startup.
--- Logging error ---
Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 168, in get_binding
    return super().get_binding(interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\injector\__init__.py", line 659, in get_binding
    raise UnsatisfiedRequirement(None, interface)
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 163, in build_middleware_stack
    app = cls(app, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 56, in __call__
    return self.create_object(**kwargs, app=app)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 47, in create_object
    _result[k] = current_injector.get(annotation)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\ellar_injector.py", line 120, in get
    binding, binder = self.container.get_binding(interface)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 190, in get_binding
    raise UnsatisfiedRequirement(None, interface) from uex
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 1110, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 953, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 687, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 377, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: not all arguments converted during string formatting
Call stack:
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\__main__.py", line 4, in <module>
    uvicorn.main()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 412, in main
    run(
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 579, in run
    server.run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 640, in run_until_complete
    self.run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 607, in run_forever
    self._run_once()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1922, in _run_once
    handle._run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\lifespan\on.py", line 86, in main
    await app(scope, self.receive, self.send)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 29, in __call__
    return await self.app(scope, receive, send)
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 198, in __call__
    self.middleware_stack = self.build_middleware_stack()
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 165, in build_middleware_stack
    logger.exception(ex, f"Unable to setup middleware='{cls}'")
Message: UnsatisfiedRequirement(None, typing.Union[starlette.datastructures.Secret, str])
Arguments: ("Unable to setup middleware='EllarMiddleware(SessionMiddleware, max_age=1209600)'",)
--- Logging error ---
Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 168, in get_binding
    return super().get_binding(interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\injector\__init__.py", line 659, in get_binding
    raise UnsatisfiedRequirement(None, interface)
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 163, in build_middleware_stack
    app = cls(app, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 56, in __call__
    return self.create_object(**kwargs, app=app)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 47, in create_object
    _result[k] = current_injector.get(annotation)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\ellar_injector.py", line 120, in get
    binding, binder = self.container.get_binding(interface)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 190, in get_binding
    raise UnsatisfiedRequirement(None, interface) from uex
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 1110, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 953, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 687, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 377, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: not all arguments converted during string formatting
Call stack:
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\__main__.py", line 4, in <module>
    uvicorn.main()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 412, in main
    run(
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 579, in run
    server.run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 640, in run_until_complete
    self.run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 607, in run_forever
    self._run_once()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1922, in _run_once
    handle._run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\lifespan\on.py", line 86, in main
    await app(scope, self.receive, self.send)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 29, in __call__
    return await self.app(scope, receive, send)
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 198, in __call__
    self.middleware_stack = self.build_middleware_stack()
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 165, in build_middleware_stack
    logger.exception(ex, f"Unable to setup middleware='{cls}'")
Message: UnsatisfiedRequirement(None, typing.Union[starlette.datastructures.Secret, str])
Arguments: ("Unable to setup middleware='EllarMiddleware(SessionMiddleware, max_age=1209600)'",)
INFO:     ASGI 'lifespan' protocol appears unsupported.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
--- Logging error ---
Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 168, in get_binding
    return super().get_binding(interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\injector\__init__.py", line 659, in get_binding
    raise UnsatisfiedRequirement(None, interface)
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 163, in build_middleware_stack
    app = cls(app, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 56, in __call__
    return self.create_object(**kwargs, app=app)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 47, in create_object
    _result[k] = current_injector.get(annotation)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\ellar_injector.py", line 120, in get
    binding, binder = self.container.get_binding(interface)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 190, in get_binding
    raise UnsatisfiedRequirement(None, interface) from uex
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 1110, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 953, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 687, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 377, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: not all arguments converted during string formatting
Call stack:
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\__main__.py", line 4, in <module>
    uvicorn.main()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 412, in main
    run(
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 579, in run
    server.run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 640, in run_until_complete
    self.run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 607, in run_forever
    self._run_once()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1922, in _run_once
    handle._run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 406, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 198, in __call__
    self.middleware_stack = self.build_middleware_stack()
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 165, in build_middleware_stack
    logger.exception(ex, f"Unable to setup middleware='{cls}'")
Message: UnsatisfiedRequirement(None, typing.Union[starlette.datastructures.Secret, str])
Arguments: ("Unable to setup middleware='EllarMiddleware(SessionMiddleware, max_age=1209600)'",)
--- Logging error ---
Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 168, in get_binding
    return super().get_binding(interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\injector\__init__.py", line 659, in get_binding
    raise UnsatisfiedRequirement(None, interface)
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 163, in build_middleware_stack
    app = cls(app, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 56, in __call__
    return self.create_object(**kwargs, app=app)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 47, in create_object
    _result[k] = current_injector.get(annotation)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\ellar_injector.py", line 120, in get
    binding, binder = self.container.get_binding(interface)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 190, in get_binding
    raise UnsatisfiedRequirement(None, interface) from uex
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 1110, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 953, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 687, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 377, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: not all arguments converted during string formatting
Call stack:
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\__main__.py", line 4, in <module>
    uvicorn.main()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 412, in main
    run(
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 579, in run
    server.run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 640, in run_until_complete
    self.run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 607, in run_forever
    self._run_once()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1922, in _run_once
    handle._run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 406, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 198, in __call__
    self.middleware_stack = self.build_middleware_stack()
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 165, in build_middleware_stack
    logger.exception(ex, f"Unable to setup middleware='{cls}'")
Message: UnsatisfiedRequirement(None, typing.Union[starlette.datastructures.Secret, str])
Arguments: ("Unable to setup middleware='EllarMiddleware(SessionMiddleware, max_age=1209600)'",)
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 168, in get_binding
    return super().get_binding(interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\injector\__init__.py", line 659, in get_binding
    raise UnsatisfiedRequirement(None, interface)
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 406, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 198, in __call__
    self.middleware_stack = self.build_middleware_stack()
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 166, in build_middleware_stack
    raise ex
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 163, in build_middleware_stack
    app = cls(app, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 56, in __call__
    return self.create_object(**kwargs, app=app)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 47, in create_object
    _result[k] = current_injector.get(annotation)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\ellar_injector.py", line 120, in get
    binding, binder = self.container.get_binding(interface)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 190, in get_binding
    raise UnsatisfiedRequirement(None, interface) from uex
injector.UnsatisfiedRequirement: unsatisfied requirement on Union
INFO:     127.0.0.1:58858 - "GET / HTTP/1.1" 500 Internal Server Error
--- Logging error ---
Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 168, in get_binding
    return super().get_binding(interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\injector\__init__.py", line 659, in get_binding
    raise UnsatisfiedRequirement(None, interface)
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 163, in build_middleware_stack
    app = cls(app, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 56, in __call__
    return self.create_object(**kwargs, app=app)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 47, in create_object
    _result[k] = current_injector.get(annotation)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\ellar_injector.py", line 120, in get
    binding, binder = self.container.get_binding(interface)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 190, in get_binding
    raise UnsatisfiedRequirement(None, interface) from uex
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 1110, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 953, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 687, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 377, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: not all arguments converted during string formatting
Call stack:
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\__main__.py", line 4, in <module>
    uvicorn.main()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 412, in main
    run(
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 579, in run
    server.run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 640, in run_until_complete
    self.run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 607, in run_forever
    self._run_once()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1922, in _run_once
    handle._run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 406, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 198, in __call__
    self.middleware_stack = self.build_middleware_stack()
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 165, in build_middleware_stack
    logger.exception(ex, f"Unable to setup middleware='{cls}'")
Message: UnsatisfiedRequirement(None, typing.Union[starlette.datastructures.Secret, str])
Arguments: ("Unable to setup middleware='EllarMiddleware(SessionMiddleware, max_age=1209600)'",)
--- Logging error ---
Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 168, in get_binding
    return super().get_binding(interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\injector\__init__.py", line 659, in get_binding
    raise UnsatisfiedRequirement(None, interface)
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 163, in build_middleware_stack
    app = cls(app, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 56, in __call__
    return self.create_object(**kwargs, app=app)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 47, in create_object
    _result[k] = current_injector.get(annotation)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\ellar_injector.py", line 120, in get
    binding, binder = self.container.get_binding(interface)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 190, in get_binding
    raise UnsatisfiedRequirement(None, interface) from uex
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 1110, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 953, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 687, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 377, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: not all arguments converted during string formatting
Call stack:
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\__main__.py", line 4, in <module>
    uvicorn.main()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 412, in main
    run(
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 579, in run
    server.run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 640, in run_until_complete
    self.run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 607, in run_forever
    self._run_once()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1922, in _run_once
    handle._run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 406, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 198, in __call__
    self.middleware_stack = self.build_middleware_stack()
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 165, in build_middleware_stack
    logger.exception(ex, f"Unable to setup middleware='{cls}'")
Message: UnsatisfiedRequirement(None, typing.Union[starlette.datastructures.Secret, str])
Arguments: ("Unable to setup middleware='EllarMiddleware(SessionMiddleware, max_age=1209600)'",)
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 168, in get_binding
    return super().get_binding(interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\injector\__init__.py", line 659, in get_binding
    raise UnsatisfiedRequirement(None, interface)
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 406, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 198, in __call__
    self.middleware_stack = self.build_middleware_stack()
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 166, in build_middleware_stack
    raise ex
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 163, in build_middleware_stack
    app = cls(app, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 56, in __call__
    return self.create_object(**kwargs, app=app)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 47, in create_object
    _result[k] = current_injector.get(annotation)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\ellar_injector.py", line 120, in get
    binding, binder = self.container.get_binding(interface)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 190, in get_binding
    raise UnsatisfiedRequirement(None, interface) from uex
injector.UnsatisfiedRequirement: unsatisfied requirement on Union
INFO:     127.0.0.1:58860 - "GET / HTTP/1.1" 500 Internal Server Error
--- Logging error ---
Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 168, in get_binding
    return super().get_binding(interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\injector\__init__.py", line 659, in get_binding
    raise UnsatisfiedRequirement(None, interface)
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 163, in build_middleware_stack
    app = cls(app, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 56, in __call__
    return self.create_object(**kwargs, app=app)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 47, in create_object
    _result[k] = current_injector.get(annotation)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\ellar_injector.py", line 120, in get
    binding, binder = self.container.get_binding(interface)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 190, in get_binding
    raise UnsatisfiedRequirement(None, interface) from uex
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 1110, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 953, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 687, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 377, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: not all arguments converted during string formatting
Call stack:
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\__main__.py", line 4, in <module>
    uvicorn.main()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 412, in main
    run(
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 579, in run
    server.run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 640, in run_until_complete
    self.run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 607, in run_forever
    self._run_once()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1922, in _run_once
    handle._run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 406, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 198, in __call__
    self.middleware_stack = self.build_middleware_stack()
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 165, in build_middleware_stack
    logger.exception(ex, f"Unable to setup middleware='{cls}'")
Message: UnsatisfiedRequirement(None, typing.Union[starlette.datastructures.Secret, str])
Arguments: ("Unable to setup middleware='EllarMiddleware(SessionMiddleware, max_age=1209600)'",)
--- Logging error ---
Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 168, in get_binding
    return super().get_binding(interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\injector\__init__.py", line 659, in get_binding
    raise UnsatisfiedRequirement(None, interface)
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 163, in build_middleware_stack
    app = cls(app, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 56, in __call__
    return self.create_object(**kwargs, app=app)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 47, in create_object
    _result[k] = current_injector.get(annotation)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\ellar_injector.py", line 120, in get
    binding, binder = self.container.get_binding(interface)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 190, in get_binding
    raise UnsatisfiedRequirement(None, interface) from uex
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 1110, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 953, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 687, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\logging\__init__.py", line 377, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: not all arguments converted during string formatting
Call stack:
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\__main__.py", line 4, in <module>
    uvicorn.main()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 412, in main
    run(
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 579, in run
    server.run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 640, in run_until_complete
    self.run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 607, in run_forever
    self._run_once()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1922, in _run_once
    handle._run()
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 406, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 198, in __call__
    self.middleware_stack = self.build_middleware_stack()
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 165, in build_middleware_stack
    logger.exception(ex, f"Unable to setup middleware='{cls}'")
Message: UnsatisfiedRequirement(None, typing.Union[starlette.datastructures.Secret, str])
Arguments: ("Unable to setup middleware='EllarMiddleware(SessionMiddleware, max_age=1209600)'",)
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 168, in get_binding
    return super().get_binding(interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\injector\__init__.py", line 659, in get_binding
    raise UnsatisfiedRequirement(None, interface)
injector.UnsatisfiedRequirement: unsatisfied requirement on Union

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 406, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\gengh\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 198, in __call__
    self.middleware_stack = self.build_middleware_stack()
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 166, in build_middleware_stack
    raise ex
  File "D:\py\ellar\env\Lib\site-packages\ellar\app\main.py", line 163, in build_middleware_stack
    app = cls(app, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 56, in __call__
    return self.create_object(**kwargs, app=app)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\core\middleware\middleware.py", line 47, in create_object
    _result[k] = current_injector.get(annotation)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\ellar_injector.py", line 120, in get
    binding, binder = self.container.get_binding(interface)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\py\ellar\env\Lib\site-packages\ellar\di\injector\container.py", line 190, in get_binding
    raise UnsatisfiedRequirement(None, interface) from uex
injector.UnsatisfiedRequirement: unsatisfied requirement on Union
INFO:     127.0.0.1:58861 - "GET /favicon.ico HTTP/1.1" 500 Internal Server Error

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions