Error masking and internals leaking in error handling
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
Direzione di ricerca
Inizia tracciando la gestione delle eccezioni attraverso execute_graphql(), execute(), resolve_or_error(), complete_value_catching_error(), complete_value() ed ExecutionContext.report_error(). Leggi le issue collegate sul comportamento correlato di traceback e logging, quindi definisci e verifica quali eccezioni vengono segnalate ai client, quali si propagano e come vengono preservate le informazioni del traceback originale senza esporre dettagli sensibili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
There are several places (execute_graphql(), complete_value(), complete_value_catching_error(), resolve_or_error(), execute() ExecutionContext.report_error(), may be there is more) where the library indiscriminately catches all exceptions and reports them to client. It's correct behaviour for parsing/usage errors. But for programming and runtime errors there are problems:
- original error is lost and traceback is not reported, so it becomes hard to debug;
- potentially sensitive information is leaked to client via error message.
I believe the the right behaviour would be to catch and report to client specific exceptions only (GraphQLError and subclasses?) while propagating the rest.
Related issues:
- Lingua principale
- Python
- Stelle
- 371
- Fork
- 174
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 graphql-python/graphql-core-legacy
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Quiver sourceAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
graphql-python/graphql-core-legacy#286 · 3 reazioni ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
graphql-python/graphql-core-legacy#280 · 2 commenti · 1 reazione ·
-
Add support for custom validators in default GraphQL backendForse già presa @JoaRiski l’ha presa 2420 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Tutte le issue di graphql-python/graphql-core-legacy
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
good first issue No-AI
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
🐛 Bug: Calendar work items cannot be opened on mobileForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni