Class: Ipecache::Plugins::Edgecast
- Defined in:
- lib/ipecache/plugins/edgecast.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 |
# File 'lib/ipecache/plugins/edgecast.rb', line 9 def perform safe_require 'uri' safe_require 'faraday_middleware' safe_require 'json' account_id = config.account_id api_key = config.api_key if account_id.nil? plugin_puts("Edgecast account id not specified, Exiting...") exit 1 end if api_key.nil? plugin_puts("Edgecast API key not specified, Exiting...") exit 1 end plugin_puts "Beginning URL Purge from Edgecast..." urls.each do |u| url = u.chomp plugin_puts ("Purging #{url}") connection = Faraday::Connection.new( {:url => "https://api.edgecast.com", :headers => { :accept => 'application/json', :content_type => 'application/json', :user_agent => 'Ipecache', :authorization => "TOK:#{api_key}"}, :ssl => { :verify => true } }) do |builder| builder.request :json builder.adapter Faraday.default_adapter end response = connection.put("/v2/mcc/customers/#{account_id}/edge/purge",{ :MediaPath => url, :MediaType => 8}) if response.status != 200 plugin_puts_error(url,"Response Code: #{response.status}") plugin_puts_error(url,response.body) exit 1 unless continue_on_error else plugin_puts "Purge successful!" end end end |