Class: Ipecache::Plugins::Akamai
- Defined in:
- lib/ipecache/plugins/akamai.rb
Instance Method Summary collapse
Methods inherited from Plugin
#continue_on_error, #enabled?, hook, hooks, #initialize, #log_file, name, #name, #plugin_puts, #plugin_puts_error, #quiet_mode, #urls
Constructor Details
This class inherits a constructor from Ipecache::Plugins::Plugin
Instance Method Details
#perform ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/ipecache/plugins/akamai.rb', line 9 def perform safe_require 'faraday_middleware' safe_require 'json' username = config.username password = config.password if username.nil? plugin_puts("Akamai username not specified, Exiting...") exit 1 end if password.nil? plugin_puts("Akamai password key not specified, Exiting...") exit 1 end plugin_puts "Beginning URL Purge from Akamai..." urls.each do |u| url = u.chomp plugin_puts ("Purging #{url}") connection = Faraday::Connection.new( {:url => "https://api.ccu.akamai.com", :headers => { :accept => 'application/json', :content_type => 'application/json', :user_agent => 'Ipecache', }, :ssl => { :verify => true } }) do |builder| builder.request :json builder.basic_auth(username,password) builder.adapter Faraday.default_adapter end response = connection.post("/ccu/v2/queues/default", "{\"objects\":[\"#{url}\"]}") response_json = JSON.parse(response.body) response_httpStatus = response_json['httpStatus'] if response_httpStatus != 201 plugin_puts_error(url,"Purge failed!") plugin_puts response.body exit 1 unless continue_on_error else plugin_puts "Purge successful!" end end end |