Sha256: 6a6b7514a7c688237a4e30c6bb07ecb059c4b292f2ff661a84bfb2a0344cbbea
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
require 'uri' require 'net/http' require 'singleton' module CaliperApi class Poster include Singleton def initialize @base_uri = Caliper.config[:api_host] end def self.send(url, data) instance.post(url, data) end def post(url, data = "") begin uri = URI.parse(@base_uri + url) http = Net::HTTP.new(uri.host, uri.port) http.open_timeout = 5 # in seconds http.read_timeout = 5 # in seconds request = Net::HTTP::Post.new(uri.request_uri) request["X_API_KEY"] = Caliper.config[:api_key] request["Content-Type"] = "application/json" request["Accept"] = "application/json" request.body = data response = http.request(request) status = response.code.to_i if status == 401 Caliper.logger.error "CaliperApi: Error: Not authorized check your API key on #{Caliper.config[:api_host]}" elsif status > 400 Caliper.logger.error "CaliperApi: Error: got #{response.code} from server" end rescue Exception => e Caliper.logger.error "CaliperApi: Http error: #{e.message}" end end end def self.test_post Poster.send("/api/test", "") end def self.create_trace(tracer_json) Poster.send("/api/traces", tracer_json) end def self.create_error(error_json) Poster.send("/api/errors", error_json) end def self.update_routes(routes_json) Poster.send("/api/routes", routes_json) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
caliper-0.0.2 | lib/caliper_api/http.rb |
caliper-0.0.1 | lib/caliper_api/http.rb |