Sha256: 2700b35ba51f27201a4aab31899453e66f807b7069f16ec920258f8bbb8c606b

Contents?: true

Size: 1.1 KB

Versions: 8

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

require 'core_ext/hash/deep_transform_values'

class LHC::Rollbar < LHC::Interceptor
  include ActiveSupport::Configurable
  include LHC::FixInvalidEncodingConcern

  def after_response
    return unless Object.const_defined?('Rollbar')
    return if response.success?

    request = response.request
    additional_params = request.options.fetch(:rollbar, {})
    data = {
      response: {
        body: response.body,
        code: response.code,
        headers: response.headers,
        time: response.time,
        timeout?: response.timeout?
      },
      request: {
        url: request.url,
        method: request.method,
        headers: request.scrubbed_headers,
        params: request.scrubbed_params
      }
    }.merge additional_params
    begin
      Rollbar.warning("Status: #{response.code} URL: #{request.url}", data)
    rescue Encoding::UndefinedConversionError
      sanitized_data = data.deep_transform_values { |value| self.class.fix_invalid_encoding(value) }
      Rollbar.warning("Status: #{response.code} URL: #{request.url}", sanitized_data)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
lhc-15.1.2 lib/lhc/interceptors/rollbar.rb
lhc-15.1.1 lib/lhc/interceptors/rollbar.rb
lhc-15.1.0 lib/lhc/interceptors/rollbar.rb
lhc-16.0.0.pre.pro2162.2 lib/lhc/interceptors/rollbar.rb
lhc-16.0.0.pre.pro2162 lib/lhc/interceptors/rollbar.rb
lhc-15.0.1 lib/lhc/interceptors/rollbar.rb
lhc-15.0.0 lib/lhc/interceptors/rollbar.rb
lhc-13.4.0.pre.pro1766.1 lib/lhc/interceptors/rollbar.rb