Skip to content

Do not show non-nullable errors when errors are manually rendered from controller #310

@povilasjurcys

Description

@povilasjurcys

This could be done by:

  • adding custom context key like context[:rendered_errors] = true
  • overriding GraphQL::Schema#type_error logic to:
     def type_error(type_error, context)
       return nil if type_error.is_a?(GraphQL::InvalidNullError) && context[:rendered_errors]
       super()
     end

Bonus points:
Make it easier to add hooks before_type_error and after_type_error for adding logger logic or so

     def type_error(type_error, context)
       before_type_error&.call(type_error, context)
       super().tap { |result| after_type_error&.call(type_error, context, result) }
     end

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions