@@ -92,6 +92,7 @@ def dispatch_request(self):
9292
9393 show_graphiql = not is_batch and self .should_display_graphiql (data )
9494 catch = HttpQueryError if show_graphiql else None
95+ only_allow_query = request_method == 'get'
9596
9697 if not is_batch :
9798 assert isinstance (data , dict ), "GraphQL params should be a dict. Received {}." .format (data )
@@ -103,13 +104,16 @@ def dispatch_request(self):
103104 'Batch requests are not allowed.'
104105 )
105106
106- only_allow_query = request_method == 'get'
107107
108108 responses = [self .get_response (
109- self .execute ,
109+ self .schema ,
110110 entry ,
111111 catch ,
112112 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 ),
113117 ) for entry in data ]
114118
115119 response , params , status_codes = zip (* responses )
@@ -143,15 +147,15 @@ def dispatch_request(self):
143147 content_type = 'application/json'
144148 )
145149
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 ):
147151 params = self .get_graphql_params (data )
148152 try :
149153 execution_result = self .execute_graphql_request (
150- self .schema ,
151- execute ,
154+ schema ,
152155 data ,
153156 params ,
154157 only_allow_query ,
158+ ** kwargs
155159 )
156160 except catch :
157161 execution_result = None
@@ -211,24 +215,8 @@ def parse_body(self):
211215
212216 return {}
213217
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-
230218 @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 ):
232220 if not params .query :
233221 raise HttpQueryError (400 , 'Must provide query string.' )
234222
@@ -261,6 +249,7 @@ def execute_graphql_request(schema, execute, data, params, only_allow_query=Fals
261249 ast ,
262250 operation_name = params .operation_name ,
263251 variable_values = params .variables ,
252+ ** kwargs
264253 )
265254 except Exception as e :
266255 return ExecutionResult (errors = [e ], invalid = True )
0 commit comments