Skip to content

Commit 1a3c76c

Browse files
authored
Merge branch 'main' into fix_custom_resolver_multi_db_hits
2 parents c56822a + 0beb338 commit 1a3c76c

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

graphene_django/debug/middleware.py

+19-19
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,32 @@
99

1010
class DjangoDebugContext:
1111
def __init__(self):
12-
self.debug_promise = None
13-
self.promises = []
12+
self.debug_result = None
13+
self.results = []
1414
self.object = DjangoDebug(sql=[], exceptions=[])
1515
self.enable_instrumentation()
1616

17-
def get_debug_promise(self):
18-
if not self.debug_promise:
19-
self.debug_promise = Promise.all(self.promises)
20-
self.promises = []
21-
return self.debug_promise.then(self.on_resolve_all_promises).get()
17+
def get_debug_result(self):
18+
if not self.debug_result:
19+
self.debug_result = self.results
20+
self.results = []
21+
return self.on_resolve_all_results()
2222

2323
def on_resolve_error(self, value):
2424
if hasattr(self, "object"):
2525
self.object.exceptions.append(wrap_exception(value))
26-
return Promise.reject(value)
26+
return value
2727

28-
def on_resolve_all_promises(self, values):
29-
if self.promises:
30-
self.debug_promise = None
31-
return self.get_debug_promise()
28+
def on_resolve_all_results(self):
29+
if self.results:
30+
self.debug_result = None
31+
return self.get_debug_result()
3232
self.disable_instrumentation()
3333
return self.object
3434

35-
def add_promise(self, promise):
36-
if self.debug_promise:
37-
self.promises.append(promise)
35+
def add_result(self, result):
36+
if self.debug_result:
37+
self.results.append(result)
3838

3939
def enable_instrumentation(self):
4040
# This is thread-safe because database connections are thread-local.
@@ -62,10 +62,10 @@ def resolve(self, next, root, info, **args):
6262
)
6363
)
6464
if info.schema.get_type("DjangoDebug") == info.return_type:
65-
return context.django_debug.get_debug_promise()
65+
return context.django_debug.get_debug_result()
6666
try:
67-
promise = next(root, info, **args)
67+
result = next(root, info, **args)
6868
except Exception as e:
6969
return context.django_debug.on_resolve_error(e)
70-
context.django_debug.add_promise(promise)
71-
return promise
70+
context.django_debug.add_result(result)
71+
return result

tox.ini

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ passenv = *
2323
usedevelop = True
2424
setenv =
2525
DJANGO_SETTINGS_MODULE=examples.django_test_settings
26+
PYTHONPATH=.
2627
deps =
2728
-e.[test]
2829
psycopg2-binary

0 commit comments

Comments
 (0)