class Outliers::Handlers::OutliersApi
Public Instance Methods
post(result, key, url)
click to toggle source
# File lib/outliers/handlers/outliers_api.rb, line 8 def post(result, key, url) uri = URI.parse url host = uri.host port = uri.port path = uri.path use_ssl = uri.scheme == 'https' req = Net::HTTP::Post.new path, header req.body = body(key, result) logger.debug "Hanlder URL: #{url}" logger.debug "Posting: #{body("XXX", result)}" session = Net::HTTP.new(host, port) session.use_ssl = use_ssl begin response = session.start {|http| http.request(req) } rescue Errno::ECONNREFUSED logger.error "Connection to '#{url}' refused." return false end if response.code == "200" logger.debug "Received: #{response.body}" logger.debug "Handler completed succesfully." true else logger.error "Received: #{response.body}" logger.error "Handler failed with code #{response.code}." false end end
Private Instance Methods
body(key, result)
click to toggle source
# File lib/outliers/handlers/outliers_api.rb, line 55 def body(key, result) { 'key' => key, 'result' => result.to_hash }.to_json end
header()
click to toggle source
# File lib/outliers/handlers/outliers_api.rb, line 50 def header { 'Content-Type' => 'application/json', 'Accept' => 'application/vnd.outliers-v1+json' } end
logger()
click to toggle source
# File lib/outliers/handlers/outliers_api.rb, line 46 def logger @logger ||= Outliers.logger end