class Akamai::Connection

Attributes

conn[RW]

Public Class Methods

new(config) click to toggle source
# File lib/akamairb/connection.rb, line 8
def initialize(config)
  self.conn = Faraday.new(:url => 'https://api.ccu.akamai.com') do |faraday|
    faraday.headers['Content-Type'] = 'application/json'
    faraday.adapter Faraday.default_adapter  # make requests with Net::HTTP
    faraday.basic_auth(config["user"],config["pass"])
  end
end

Public Instance Methods

progress(url) click to toggle source
# File lib/akamairb/connection.rb, line 25
def progress url
  parse conn.get(url)
end
progress_until_done(url) { |response| ... } click to toggle source
# File lib/akamairb/connection.rb, line 29
def progress_until_done url
  loop do
    response = progress url
    yield response if block_given?
    break if response["purgeStatus"] == "Done"
    sleep response["pingAfterSeconds"]
  end
end
purge(*urls) click to toggle source
# File lib/akamairb/connection.rb, line 16
def purge(*urls)
  response = conn.post do |req|
    req.url '/ccu/v2/queues/default'
    req.body = JSON.dump({"objects" => urls.flatten})
  end
  
  parse response
end
purge_and_progress(*urls, &block) click to toggle source
# File lib/akamairb/connection.rb, line 38
def purge_and_progress *urls, &block
  response = purge *urls
  progress_until_done response["progressUri"], &block
end

Private Instance Methods

parse(response) click to toggle source
# File lib/akamairb/connection.rb, line 44
def parse response
  JSON.parse(response.body)
end