Skip to content

Commit 8caa2cd

Browse files
committed
Fixed middleware
1 parent 70dbd4b commit 8caa2cd

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

examples/cookbook/cookbook/schema.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import cookbook.ingredients.schema
22
import graphene
33

4+
from graphene_django.debug import DjangoDebug
45

56
# print cookbook.ingredients.schema.Query._meta.graphql_type.get_fields()['allIngredients'].args
67

78

89
class Query(cookbook.ingredients.schema.Query, graphene.ObjectType):
9-
pass
10+
debug = graphene.Field(DjangoDebug, name='__debug')
11+
1012

1113
schema = graphene.Schema(query=Query)

graphene_django/views.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import inspect
12
import json
23
import re
34

@@ -42,6 +43,14 @@ def qualify(x):
4243
key=lambda x: x[1], reverse=True))
4344

4445

46+
def instantiate_middleware(middlewares):
47+
for middleware in middlewares:
48+
if inspect.isclass(middleware):
49+
yield middleware()
50+
continue
51+
yield middleware
52+
53+
4554
class GraphQLView(View):
4655
graphiql_version = '0.7.8'
4756
graphiql_template = 'graphene/graphiql.html'
@@ -60,7 +69,8 @@ def __init__(self, schema=None, executor=None, middleware=None, root_value=None,
6069
middleware = graphene_settings.MIDDLEWARE
6170

6271
self.schema = schema
63-
self.middleware = MiddlewareManager(middleware)
72+
if middleware is not None:
73+
self.middleware = MiddlewareManager(*list(instantiate_middleware(middleware)))
6474
self.executor = executor
6575
self.root_value = root_value
6676
self.pretty = pretty

0 commit comments

Comments
 (0)