async function support in url_defaults and url_value_preprocessor
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia leggendo quart/app.py intorno alla riga 1450 e segui come vengono invocati i callback url_defaults e url_value_preprocessor. Controlla come vengono gestiti i risultati delle coroutine e se sono coinvolti punti di ingresso di routing correlati. Il lavoro è completato quando i callback asincroni possono eseguire await su get_preferred_language senza un RuntimeWarning, mentre i callback sincroni continuano a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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?
- Lingua principale
- Python
- Stelle
- 3.7k
- Fork
- 209
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pallets/quart
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
`abort` typing doesn't accept Response as a valid parameterForse già presa @touilleMan l’ha presa 1478 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
-
process_response marks the session accessed, so every response gets Vary: CookieForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
-
Installing asgi_app middleware as documented results in type errorsForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Allow max content length to be modified on a per-request basisForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Tutte le issue di pallets/quart
Issue simili
-
documentation good first issue priority: P2 status: ready
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
RhinoLink-Tech/data-fabric#500 ·
I maintainer di solito rispondono entro 1 giorno
-
backlog
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
EchoTools/nevr-runtime#2384 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: The H2 series' and the H3C's fan 3 is labelled "Chamber Fan", Bambu calls it the exhaust fanApertaarea:ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
btclib-org/btclib#3062 ·
I maintainer di solito rispondono entro 1 giorno
-
area:evals area:infra enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
jse-avl/support-bot#4 · 1 commento ·