Skip to content

No support for guards in Litestar #699

Description

@arynyklas

request exists in connection.scope, but it just isn't passed to the endpoint handler.

@inject
async def some_auth_guard(
    connection: ASGIConnection,
    _: BaseRouteHandler,
    config: FromDishka[Config],
) -> None:
  File ".venv\Lib\site-packages\litestar\handlers\base.py", line 517, in authorize_connection
    await guard(connection, copy(self))  # type: ignore[misc]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<dishka_func_metrics_auth_guard>", line 2, in dishka_func_metrics_auth_guard
    container = container_getter(args, kwargs)
  File ".venv\Lib\site-packages\dishka\integrations\litestar.py", line 74, in <lambda>
    container_getter=lambda _, r: r[param_name].state.dishka_container,
                                  ~^^^^^^^^^^^^
KeyError: 'request'

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions