@@ -92,6 +92,7 @@ def dispatch_request(self):
92
92
93
93
show_graphiql = not is_batch and self .should_display_graphiql (data )
94
94
catch = HttpQueryError if show_graphiql else None
95
+ only_allow_query = request_method == 'get'
95
96
96
97
if not is_batch :
97
98
assert isinstance (data , dict ), "GraphQL params should be a dict. Received {}." .format (data )
@@ -103,13 +104,16 @@ def dispatch_request(self):
103
104
'Batch requests are not allowed.'
104
105
)
105
106
106
- only_allow_query = request_method == 'get'
107
107
108
108
responses = [self .get_response (
109
- self .execute ,
109
+ self .schema ,
110
110
entry ,
111
111
catch ,
112
112
only_allow_query ,
113
+ root_value = self .get_root_value (request ),
114
+ context_value = self .get_context (request ),
115
+ middleware = self .get_middleware (request ),
116
+ executor = self .get_executor (request ),
113
117
) for entry in data ]
114
118
115
119
response , params , status_codes = zip (* responses )
@@ -143,15 +147,15 @@ def dispatch_request(self):
143
147
content_type = 'application/json'
144
148
)
145
149
146
- def get_response (self , execute , data , catch = None , only_allow_query = False ):
150
+ def get_response (self , schema , data , catch = None , only_allow_query = False , ** kwargs ):
147
151
params = self .get_graphql_params (data )
148
152
try :
149
153
execution_result = self .execute_graphql_request (
150
- self .schema ,
151
- execute ,
154
+ schema ,
152
155
data ,
153
156
params ,
154
157
only_allow_query ,
158
+ ** kwargs
155
159
)
156
160
except catch :
157
161
execution_result = None
@@ -211,24 +215,8 @@ def parse_body(self):
211
215
212
216
return {}
213
217
214
- def execute (self , schema , * args , ** kwargs ):
215
- root_value = self .get_root_value (request )
216
- context_value = self .get_context (request )
217
- middleware = self .get_middleware (request )
218
- executor = self .get_executor (request )
219
-
220
- return execute (
221
- schema ,
222
- * args ,
223
- root_value = root_value ,
224
- context_value = context_value ,
225
- middleware = middleware ,
226
- executor = executor ,
227
- ** kwargs
228
- )
229
-
230
218
@staticmethod
231
- def execute_graphql_request (schema , execute , data , params , only_allow_query = False ):
219
+ def execute_graphql_request (schema , data , params , only_allow_query = False , ** kwargs ):
232
220
if not params .query :
233
221
raise HttpQueryError (400 , 'Must provide query string.' )
234
222
@@ -261,6 +249,7 @@ def execute_graphql_request(schema, execute, data, params, only_allow_query=Fals
261
249
ast ,
262
250
operation_name = params .operation_name ,
263
251
variable_values = params .variables ,
252
+ ** kwargs
264
253
)
265
254
except Exception as e :
266
255
return ExecutionResult (errors = [e ], invalid = True )
0 commit comments