graphql-python / graphql-python/graphql-core-legacy
Order of Middlewares
- Langage dominant
- Python
- Étoiles
- 372
- Forks
- 175
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
I've discovered that this line inverts the middleware order:
https://github.com/graphql-python/graphql-core/blob/6df8a6312b579a6a1454bcf29a566ce5d0fa9849/graphql/execution/middleware.py#L51
This was somewhat confusing, as I expected the first installed middleware to be the entrypoint. I.e.
```python
schema.execute(
statement,
middleware=[mw1, mw2],
)
```
actually produces the call stack `mw2 -> mw1 -> resolve_func`, whereas i'd expected `mw1 -> mw2 -> resolve_func`.
I'm not clear if this is a bug, as this functionality isn't tested anywhere, or if it would just go in documentation somewhere.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par graphql/execution/middleware.py#L51 et reproduisez l’ordre des appels avec schema.execute en utilisant l’exemple middleware=[mw1, mw2]. Vérifiez la couverture de middleware dans les tests d’exécution existants ; le travail est terminé lorsque l’ordre prévu est établi et consigné dans un test de régression ou dans la documentation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- graphql, python
- Domaine
- api, backend
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100