Class: GraphQLAuthorizer::Request

Inherits:
Object
  • Object
show all
Includes:
Validator::Signature, Validator::Timestamp
Defined in:
lib/graphql_authorizer/request.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Validator::Timestamp

#request_timestamp_is_valid?

Methods included from Validator::Signature

#request_signature_is_valid?

Constructor Details

#initialize(sig:, timestamp:) ⇒ Request

Returns a new instance of Request.



13
14
15
16
17
18
19
# File 'lib/graphql_authorizer/request.rb', line 13

def initialize(sig:, timestamp:)
  @sig = sig.to_s
  @timestamp = timestamp.to_s
  @errors = []
  config = GraphQLAuthorizer.configuration
  raise_missing_configuration unless config
end

Instance Attribute Details

#errorsObject

Returns the value of attribute errors.



8
9
10
# File 'lib/graphql_authorizer/request.rb', line 8

def errors
  @errors
end

Instance Method Details

#valid?Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
27
# File 'lib/graphql_authorizer/request.rb', line 21

def valid?
  valid_sig = request_signature_is_valid?(sig: @sig, timestamp: @timestamp)
  @errors << invalid_signature unless valid_sig
  valid_timestamp = request_timestamp_is_valid?(timestamp: @timestamp)
  @errors << invalid_timestamp unless valid_timestamp
  valid_sig && valid_timestamp
end