Sha256: ed45aac57fdbdd4cd2204b771063f79eb8123ebfb609e5383548d4b68081da86

Contents?: true

Size: 1.46 KB

Versions: 8

Compression:

Stored size: 1.46 KB

Contents

require 'faraday'

require 'raven/transports'
require 'raven/error'

module Raven
  module Transports
    class HTTP < Transport

      def send(auth_header, data, options = {})
        project_id = self.configuration[:project_id]
        response = conn.post "/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
      end

      private

      def conn
        @conn ||= begin
          self.verify_configuration

          Raven.logger.debug "Raven HTTP Transport connecting to #{self.configuration.server}"

          ssl_configuration = self.configuration.ssl || {}
          ssl_configuration[:verify] = self.configuration.ssl_verification

          conn = Faraday.new(
            :url => self.configuration[:server],
            :ssl => ssl_configuration
          ) do |builder|
            builder.adapter(*adapter)
          end

          if self.configuration.timeout
            conn.options[:timeout] = self.configuration.timeout
          end
          if self.configuration.open_timeout
            conn.options[:open_timeout] = self.configuration.open_timeout
          end

          conn
        end
      end

      def adapter
        configuration.http_adapter || Faraday.default_adapter
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
sentry-raven-0.11.1 lib/raven/transports/http.rb
sentry-raven-0.10.1 lib/raven/transports/http.rb
sentry-raven-0.9.4 lib/raven/transports/http.rb
sentry-raven-0.9.3 lib/raven/transports/http.rb
sentry-raven-0.9.2 lib/raven/transports/http.rb
sentry-raven-0.9.1 lib/raven/transports/http.rb
sentry-raven-0.9.0 lib/raven/transports/http.rb
sentry-raven-0.8.0 lib/raven/transports/http.rb