Exception: GraphQL::UnauthorizedError
- Defined in:
- lib/graphql/unauthorized_error.rb
Overview
When an authorized?
hook returns false, this error is used to communicate the failure.
It's passed to Schema.unauthorized_object.
Alternatively, custom code in authorized?
may raise this error. It will be routed the same way.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#context ⇒ GraphQL::Query::Context
The context for the current query.
-
#object ⇒ Object
readonly
The application object that failed the authorization check.
-
#type ⇒ Class
readonly
The GraphQL object type whose
.authorized?
method was called (and returned false).
Instance Method Summary collapse
-
#initialize(message = nil, object: nil, type: nil, context: nil) ⇒ UnauthorizedError
constructor
A new instance of UnauthorizedError.
Constructor Details
#initialize(message = nil, object: nil, type: nil, context: nil) ⇒ UnauthorizedError
Returns a new instance of UnauthorizedError.
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/graphql/unauthorized_error.rb', line 17 def initialize( = nil, object: nil, type: nil, context: nil) if .nil? && object.nil? && type.nil? raise ArgumentError, "#{self.class.name} requires either a message or keywords" end @object = object @type = type @context = context ||= "An instance of #{object.class} failed #{type.graphql_name}'s authorization check" super() end |
Instance Attribute Details
#context ⇒ GraphQL::Query::Context
Returns the context for the current query.
15 16 17 |
# File 'lib/graphql/unauthorized_error.rb', line 15 def context @context end |
#object ⇒ Object (readonly)
Returns the application object that failed the authorization check.
9 10 11 |
# File 'lib/graphql/unauthorized_error.rb', line 9 def object @object end |
#type ⇒ Class (readonly)
Returns the GraphQL object type whose .authorized?
method was called (and returned false).
12 13 14 |
# File 'lib/graphql/unauthorized_error.rb', line 12 def type @type end |