8000 fix(incrementalDelivery): filtering should never filter the error source · graphql-python/graphql-core@0c843f9 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0c843f9

Browse files
committed
fix(incrementalDelivery): filtering should never filter the error source
Replicates graphql/graphql-js@9997e98
1 parent fccb0bb commit 0c843f9

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

src/graphql/execution/execute.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,15 +1001,15 @@ async def await_completed() -> Any:
10011001
except Exception as raw_error:
10021002
error = located_error(raw_error, field_nodes, path.as_list())
10031003
handle_field_error(error, return_type, errors)
1004-
self.filter_subsequent_payloads(path)
1004+
self.filter_subsequent_payloads(path, async_payload_record)
10051005
return None
10061006

10071007
10000 return await_completed()
10081008

10091009
except Exception as raw_error:
10101010
error = located_error(raw_error, field_nodes, path.as_list())
10111011
handle_field_error(error, return_type, errors)
1012-
self.filter_subsequent_payloads(path)
1012+
self.filter_subsequent_payloads(path, async_payload_record)
10131013
return None
10141014

10151015
return completed
@@ -1225,15 +1225,17 @@ async def complete_async_iterator_value(
12251225
if is_awaitable(completed_item):
12261226
# noinspection PyShadowingNames
12271227
async def catch_error(
1228-
completed_item: Awaitable[Any], field_path: Path
1228+
completed_item: Awaitable[Any], item_path: Path
12291229
) -> Any:
12301230
try:
12311231
return await completed_item
12321232
except Exception as raw_error:
12331233
error = located_error(
1234-
raw_error, field_nodes, field_path.as_list()
1234+
raw_error, field_nodes, item_path.as_list()
1235+
)
1236+
self.filter_subsequent_payloads(
1237+
item_path, async_payload_record
12351238
)
1236-
self.filter_subsequent_payloads(field_path)
12371239
handle_field_error(error, item_type, errors)
12381240
return None
12391241

@@ -1244,7 +1246,7 @@ async def catch_error(
12441246
except Exception as raw_error:
12451247
append_result(None)
12461248
error = located_error(raw_error, field_nodes, item_path.as_list())
1247-
self.filter_subsequent_payloads(item_path)
1249+
self.filter_subsequent_payloads(item_path, async_payload_record)
12481250
handle_field_error(error, item_type, errors)
12491251
except Exception as raw_error:
12501252
append_result(None)
@@ -1354,7 +1356,7 @@ async def await_completed(item: Any, item_path: Path) -> Any:
13541356
raw_error, field_nodes, item_path.as_list()
13551357
)
13561358
handle_field_error(error, item_type, errors)
1357-
self.filter_subsequent_payloads(item_path)
1359+
self.filter_subsequent_payloads(item_path, async_payload_record)
13581360
return None
13591361
return completed
13601362

@@ -1379,14 +1381,16 @@ async def await_completed(item: Any, item_path: Path) -> Any:
13791381
raw_error, field_nodes, item_path.as_list()
13801382
)
13811383
handle_field_error(error, item_type, errors)
1382-
self.filter_subsequent_payloads(item_path)
1384+
self.filter_subsequent_payloads(
1385+
item_path, async_payload_record
1386+
)
13831387
return None
13841388

13851389
completed_item = await_completed(completed_item, item_path)
13861390
except Exception as raw_error:
13871391
error = located_error(raw_error, field_nodes, item_path.as_list())
13881392
handle_field_error(error, item_type, errors)
1389-
self.filter_subsequent_payloads(item_path)
1393+
self.filter_subsequent_payloads(item_path, async_payload_record)
13901394
completed_item = None
13911395

13921396
if is_awaitable(completed_item):

0 commit comments

Comments
 (0)
0