Skip to content

Commit 69f7c26

Browse files
committed
Simplified execution
1 parent 31fcca5 commit 69f7c26

File tree

1 file changed

+11
-22
lines changed

1 file changed

+11
-22
lines changed

flask_graphql/graphqlview.py

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)