Don't execute on GET for GraphiQL

We can also now return GraphiQL earlier in the request handling.
This commit is contained in:
Dan Palmer 2018-08-30 19:29:33 +01:00
parent 9351626ad8
commit 219005952a
No known key found for this signature in database
GPG Key ID: DD869B28A1B7AA92

View File

@ -124,6 +124,12 @@ class GraphQLView(View):
data = self.parse_body(request)
show_graphiql = self.graphiql and self.can_display_graphiql(request, data)
if show_graphiql:
return self.render_graphiql(
request,
graphiql_version=self.graphiql_version,
)
if self.batch:
responses = [self.get_response(request, entry) for entry in data]
result = "[{}]".format(
@ -137,19 +143,6 @@ class GraphQLView(View):
else:
result, status_code = self.get_response(request, data, show_graphiql)
if show_graphiql:
query, variables, operation_name, id = self.get_graphql_params(
request, data
)
return self.render_graphiql(
request,
graphiql_version=self.graphiql_version,
query=query or "",
variables=json.dumps(variables) or "",
operation_name=operation_name or "",
result=result or "",
)
return HttpResponse(
status=status_code, content=result, content_type="application/json"
)