@@ -288,30 +288,23 @@ def _get_source_str(obj):
288
288
289
289
290
290
def _validate_error_extensions (error : GraphQLError , extensions : Optional [str ], attributes : Dict ) -> Tuple [Dict , Dict ]:
291
- # Validate user-provided extensions
291
+ """Validate user-provided extensions
292
+ All extensions values MUST be stringified, EXCEPT for numeric values and
293
+ boolean values, which remain in their original type.
294
+ """
295
+
292
296
if not extensions :
293
297
return {}, attributes
294
298
295
299
fields = [e .strip () for e in extensions .split ("," )]
296
300
error_extensions = {}
297
301
for field in fields :
298
302
if field in error .extensions :
299
- # validate extensions formatting
300
- # All extensions values MUST be stringified, EXCEPT for numeric values and
301
- # boolean values, which remain in their original type.
302
303
if isinstance (error .extensions [field ], (int , float , bool )):
303
304
error_extensions [field ] = error .extensions [field ]
304
305
else :
305
- # q: could this be `None`?
306
306
error_extensions [field ] = str (error .extensions [field ])
307
307
308
- # Additional validation for Apollo Server attributes
309
- if field == "stacktrace" :
310
- attributes ["type" ] = error .extensions [field ].split (":" )[0 ]
311
- attributes ["stacktrace" ] = "\n " .join (error .extensions [field ])
312
- elif field == "code" :
313
- attributes ["code" ] = error .extensions [field ]
314
-
315
308
return error_extensions , attributes
316
309
317
310
0 commit comments