class AkamaiCCU::Wrapper
Attributes
client[R]
logger[RW]
secret[R]
response_klass[RW]
signer_klass[RW]
Public Class Methods
new(endpoint:, headers: [], signer_klass: Signer, response_klass: Response)
click to toggle source
# File lib/akamai_ccu/wrapper.rb, line 35 def initialize(endpoint:, headers: [], signer_klass: Signer, response_klass: Response) @endpoint = endpoint @signer_klass = signer_klass @response_klass = response_klass @headers = headers end
setup(secret, client_klass = Client, logger = Logger.new(nil))
click to toggle source
# File lib/akamai_ccu/wrapper.rb, line 13 def setup(secret, client_klass = Client, logger = Logger.new(nil)) @secret ||= secret @client ||= client_klass.new(host: @secret.host) @logger ||= logger end
Public Instance Methods
call(objects)
click to toggle source
# File lib/akamai_ccu/wrapper.rb, line 42 def call(objects) response = self.class.client.call(path: @endpoint.path) do |request| request.body = { objects: objects }.to_json @signer_klass.new(request, self.class.secret.touch, @headers).call! self.class.logger.debug { "request: uri=#{request.path}; body=#{request.body}; authorization=#{request["Authorization"]}" } end self.class.logger.info { "response: inspect=#{response.inspect}; body=#{response.body}" } response_klass.new(response.body) end