Skip to content

async function support in url_defaults and url_value_preprocessor #315

Description

@mozcelebi

currently if you try to use an async function in url_defaults or url_value_preprocessor it raises

.venv/lib/python3.10/site-packages/quart/app.py:1450: RuntimeWarning: coroutine 'pull_lang_code' was never awaited

error.

The following code uses get_preferred_language from Quart-Babel extension but it could also be an async db call in an url_value_preprocessor function.

@app.url_defaults
async def add_language_code(endpoint, values):
    if app.url_map.is_endpoint_expecting(endpoint, "lang_code"):
        prefered_lang = await get_preferred_language()
        values.setdefault("lang_code", prefered_lang)

do you have any workaround/suggestions to this situation?

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