Open
Description
Current behaviour:
When using the depth_limit_validator
(docs), an invalid query can lead to a KeyError
being thrown (from here), which usually results in the API returning a 500 server error.
To reproduce:
- Add the
depth_limit_validator
to thevalidation_rules
in yourGraphQLView
. - Execute a query with an undefined fragment, i.e. something like:
query {
validQuery {
validField
...undefinedFragment
}
}
Expected behaviour:
A standard validation error response, like:
{
"errors": [
{
"message": "Unknown fragment 'undefinedFragment'.",
"locations": [
{
"line": x,
"column": y
}
]
}
]
}
Since this is something that's caught by the standard validators, depth_limit_validator
should probably just skip such errors. Or, do whatever the other validators do when they hit an "unrelated" error.
Environment:
- Version: 3.3
- Platform: n/a