Skip to content

Depth limit validator key error if fragment undefined #1538

Description

@ahmedaljawahiry

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 the validation_rules in your GraphQLView.
  • 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions