class Raven::Transports::HTTP
Attributes
adapter[RW]
conn[RW]
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
Raven::Transports::Transport.new
# File lib/raven/transports/http.rb, line 11 def initialize(*args) super self.adapter = configuration.http_adapter || Faraday.default_adapter self.conn = set_conn end
Public Instance Methods
send_event(auth_header, data, options = {})
click to toggle source
# File lib/raven/transports/http.rb, line 17 def send_event(auth_header, data, options = {}) project_id = configuration[:project_id] path = configuration[:path] + "/" response = conn.post "#{path}api/#{project_id}/store/" do |req| req.headers['Content-Type'] = options[:content_type] req.headers['X-Sentry-Auth'] = auth_header req.body = data end Raven.logger.warn "Error from Sentry server (#{response.status}): #{response.body}" unless response.status == 200 response end
Private Instance Methods
set_conn()
click to toggle source
# File lib/raven/transports/http.rb, line 32 def set_conn verify_configuration Raven.logger.debug "Raven HTTP Transport connecting to #{configuration.server}" ssl_configuration = configuration.ssl || {} ssl_configuration[:verify] = configuration.ssl_verification ssl_configuration[:ca_file] = configuration.ssl_ca_file conn = Faraday.new( :url => configuration[:server], :ssl => ssl_configuration ) do |builder| builder.adapter(*adapter) end conn.headers[:user_agent] = "sentry-ruby/#{Raven::VERSION}" conn.options[:proxy] = configuration.proxy if configuration.proxy conn.options[:timeout] = configuration.timeout if configuration.timeout conn.options[:open_timeout] = configuration.open_timeout if configuration.open_timeout conn end