From d18cab8aa4b49a0314e7d26b877e88b7eb30a3d0 Mon Sep 17 00:00:00 2001 From: Kien Dang Date: Thu, 22 Dec 2022 00:16:16 +0800 Subject: [PATCH 1/3] Update graphiql to 1.4.7 --- graphene_django/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/graphene_django/views.py b/graphene_django/views.py index e772d53..4d68b13 100644 --- a/graphene_django/views.py +++ b/graphene_django/views.py @@ -66,9 +66,9 @@ class GraphQLView(View): react_dom_sri = "sha256-nbMykgB6tsOFJ7OdVmPpdqMFVk4ZsqWocT6issAPUF0=" # The GraphiQL React app. - graphiql_version = "1.4.1" # "1.0.3" - graphiql_sri = "sha256-JUMkXBQWZMfJ7fGEsTXalxVA10lzKOS9loXdLjwZKi4=" # "sha256-VR4buIDY9ZXSyCNFHFNik6uSe0MhigCzgN4u7moCOTk=" - graphiql_css_sri = "sha256-Md3vdR7PDzWyo/aGfsFVF4tvS5/eAUWuIsg9QHUusCY=" # "sha256-LwqxjyZgqXDYbpxQJ5zLQeNcf7WVNSJ+r8yp2rnWE/E=" + graphiql_version = "1.4.7" # "1.0.3" + graphiql_sri = "sha256-cpZ8w9D/i6XdEbY/Eu7yAXeYzReVw0mxYd7OU3gUcsc=" # "sha256-VR4buIDY9ZXSyCNFHFNik6uSe0MhigCzgN4u7moCOTk=" + graphiql_css_sri = "sha256-HADQowUuFum02+Ckkv5Yu5ygRoLllHZqg0TFZXY7NHI=" # "sha256-LwqxjyZgqXDYbpxQJ5zLQeNcf7WVNSJ+r8yp2rnWE/E=" # The websocket transport library for subscriptions. subscriptions_transport_ws_version = "0.9.18" From 3b41aaf7bf07b7b320e84d11f42e98401bd3467d Mon Sep 17 00:00:00 2001 From: Josh Warwick Date: Mon, 13 Feb 2023 16:19:38 +0000 Subject: [PATCH 2/3] Remove promise based middleware --- graphene_django/debug/middleware.py | 38 ++++++++++++++--------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/graphene_django/debug/middleware.py b/graphene_django/debug/middleware.py index 5b9d82e..d3052a1 100644 --- a/graphene_django/debug/middleware.py +++ b/graphene_django/debug/middleware.py @@ -9,32 +9,32 @@ from .types import DjangoDebug class DjangoDebugContext: def __init__(self): - self.debug_promise = None - self.promises = [] + self.debug_result = None + self.results = [] self.object = DjangoDebug(sql=[], exceptions=[]) self.enable_instrumentation() - def get_debug_promise(self): - if not self.debug_promise: - self.debug_promise = Promise.all(self.promises) - self.promises = [] - return self.debug_promise.then(self.on_resolve_all_promises).get() + def get_debug_result(self): + if not self.debug_result: + self.debug_result = self.results + self.results = [] + return self.on_resolve_all_results() def on_resolve_error(self, value): if hasattr(self, "object"): self.object.exceptions.append(wrap_exception(value)) - return Promise.reject(value) + return value - def on_resolve_all_promises(self, values): - if self.promises: - self.debug_promise = None - return self.get_debug_promise() + def on_resolve_all_results(self): + if self.results: + self.debug_result = None + return self.get_debug_result() self.disable_instrumentation() return self.object - def add_promise(self, promise): - if self.debug_promise: - self.promises.append(promise) + def add_result(self, result): + if self.debug_result: + self.results.append(result) def enable_instrumentation(self): # This is thread-safe because database connections are thread-local. @@ -62,10 +62,10 @@ class DjangoDebugMiddleware: ) ) if info.schema.get_type("DjangoDebug") == info.return_type: - return context.django_debug.get_debug_promise() + return context.django_debug.get_debug_result() try: - promise = next(root, info, **args) + result = next(root, info, **args) except Exception as e: return context.django_debug.on_resolve_error(e) - context.django_debug.add_promise(promise) - return promise + context.django_debug.add_result(result) + return result From 0beb3385dfb688c1e9e853de3eb9587fb88c79af Mon Sep 17 00:00:00 2001 From: Josh Warwick Date: Mon, 27 Feb 2023 15:38:17 +0000 Subject: [PATCH 3/3] import error resolved? --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index 47fd1e5..285d046 100644 --- a/tox.ini +++ b/tox.ini @@ -23,6 +23,7 @@ passenv = * usedevelop = True setenv = DJANGO_SETTINGS_MODULE=examples.django_test_settings + PYTHONPATH=. deps = -e.[test] psycopg2-binary