diff --git a/flask_graphql/graphqlview.py b/flask_graphql/graphqlview.py index 0ed3160..6e48e29 100644 --- a/flask_graphql/graphqlview.py +++ b/flask_graphql/graphqlview.py @@ -40,13 +40,6 @@ def __init__(self, **kwargs): if hasattr(self, key): setattr(self, key, value) - inner_schema = getattr(self.schema, 'schema', None) - if not self.executor: - self.executor = getattr(self.schema, 'executor', None) - - if inner_schema: - self.schema = inner_schema - assert isinstance(self.schema, GraphQLSchema), 'A Schema is required to be provided to GraphQLView.' # noinspection PyUnusedLocal @@ -56,6 +49,12 @@ def get_root_value(self, request): def get_context(self, request): return request + def get_middleware(self, request): + return self.middleware + + def get_executor(self, request): + return self.executor + def dispatch_request(self): try: if request.method.lower() not in ('get', 'post'): @@ -181,8 +180,8 @@ def execute_graphql_request(self, data, query, variables, operation_name, show_g variable_values=variables or {}, operation_name=operation_name, context_value=self.get_context(request), - middleware=self.middleware, - executor=self.executor + middleware=self.get_middleware(request), + executor=self.get_executor(request) ) except Exception as e: return ExecutionResult(errors=[e], invalid=True)