Class: GraphQL::Client::SignedHTTP

Inherits:
Net::HTTP
  • Object
show all
Defined in:
lib/graphql/client/aws.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#signerObject

Returns the value of attribute signer.



29
30
31
# File 'lib/graphql/client/aws.rb', line 29

def signer
  @signer
end

#uriObject

Returns the value of attribute uri.



29
30
31
# File 'lib/graphql/client/aws.rb', line 29

def uri
  @uri
end

Instance Method Details

#request(req, *args) ⇒ Object

Parameters:

  • req (Net::HTTPRequest)


32
33
34
35
36
37
38
39
40
41
# File 'lib/graphql/client/aws.rb', line 32

def request(req, *args)
  signature = signer.sign_request(http_method: req.method, url: uri, body: req.body)
  req['Host'] = signature.headers['Host']
  req['X-Amz-Date'] = signature.headers['x-amz-date']
  req['X-Amz-Security-Token'] = signature.headers['x-amz-security-token']
  req['X-Amz-Content-Sha256']= signature.headers['x-amz-content-sha256']
  req['Authorization'] = signature.headers['authorization']
  req['Content-Type'] = 'application/graphql'
  super
end