From 4d03e85f9dd1b61e72d35dfb1010af97a09db0e8 Mon Sep 17 00:00:00 2001 From: Patryk Zawadzki Date: Mon, 19 Nov 2018 19:02:37 +0100 Subject: [PATCH] Keep a list of middleware resolvers Fixes #15 --- graphql/execution/middleware.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/graphql/execution/middleware.py b/graphql/execution/middleware.py index b24a0d7e..373abbde 100644 --- a/graphql/execution/middleware.py +++ b/graphql/execution/middleware.py @@ -1,7 +1,7 @@ from functools import partial, reduce from inspect import isfunction -from typing import Callable, Iterator, Dict, Tuple, Any, Optional +from typing import Callable, Iterator, Dict, List, Tuple, Any, Optional __all__ = ["MiddlewareManager"] @@ -23,12 +23,12 @@ class MiddlewareManager: __slots__ = "middlewares", "_middleware_resolvers", "_cached_resolvers" _cached_resolvers: Dict[GraphQLFieldResolver, GraphQLFieldResolver] - _middleware_resolvers: Optional[Iterator[Callable]] + _middleware_resolvers: Optional[List[Callable]] def __init__(self, *middlewares: Any) -> None: self.middlewares = middlewares self._middleware_resolvers = ( - get_middleware_resolvers(middlewares) if middlewares else None + list(get_middleware_resolvers(middlewares)) if middlewares else None ) self._cached_resolvers = {}