class Hoss::Transport::Connection
@api private
Attributes
http[R]
Public Class Methods
new(config)
click to toggle source
# File lib/hoss/transport/connection.rb, line 26 def initialize(config) @config = config @metadata = JSON.fast_generate( Serializers::MetadataSerializer.new(config).build( Metadata.new(config) ) ) @url = @config.ingress_host @mutex = Mutex.new end
Public Instance Methods
write(str)
click to toggle source
# File lib/hoss/transport/connection.rb, line 38 def write(str) debug "Sending report" uri = URI(@url) req = Net::HTTP::Post.new( uri, 'Authorization' => "Bearer #{@config.api_key}", #"Basic " + Base64.encode64("#{@config.api_key}:"), 'Content-Type' => 'application/json', 'HOSS-SKIP-INSTRUMENTATION' => 'true', ) req.body = str res = Net::HTTP.start(uri.hostname, uri.port, :use_ssl => uri.scheme == 'https') do |http| http.request(req) end raise unless res.code == "200" end