|
9 | 9 |
|
10 | 10 | class DjangoDebugContext:
|
11 | 11 | def __init__(self):
|
12 |
| - self.debug_promise = None |
13 |
| - self.promises = [] |
| 12 | + self.debug_result = None |
| 13 | + self.results = [] |
14 | 14 | self.object = DjangoDebug(sql=[], exceptions=[])
|
15 | 15 | self.enable_instrumentation()
|
16 | 16 |
|
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() |
22 | 22 |
|
23 | 23 | def on_resolve_error(self, value):
|
24 | 24 | if hasattr(self, "object"):
|
25 | 25 | self.object.exceptions.append(wrap_exception(value))
|
26 |
| - return Promise.reject(value) |
| 26 | + return value |
27 | 27 |
|
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() |
32 | 32 | self.disable_instrumentation()
|
33 | 33 | return self.object
|
34 | 34 |
|
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) |
38 | 38 |
|
39 | 39 | def enable_instrumentation(self):
|
40 | 40 | # This is thread-safe because database connections are thread-local.
|
@@ -62,10 +62,10 @@ def resolve(self, next, root, info, **args):
|
62 | 62 | )
|
63 | 63 | )
|
64 | 64 | 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() |
66 | 66 | try:
|
67 |
| - promise = next(root, info, **args) |
| 67 | + result = next(root, info, **args) |
68 | 68 | except Exception as e:
|
69 | 69 | 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 |
0 commit comments