Sha256: 72b19219ee279cfa36d82529586c5c4ed74a72dfdb10595b63a1d20a4a687147

Contents?: true

Size: 899 Bytes

Versions: 13

Compression:

Stored size: 899 Bytes

Contents

require 'rollbar/truncation/mixin'

module Rollbar
  module Truncation
    class MinBodyStrategy
      include ::Rollbar::Truncation::Mixin

      def self.call(payload)
        new.call(payload)
      end

      def call(payload)
        new_payload = payload.clone
        body = new_payload['data']['body']

        if body['trace_chain']
          body['trace_chain'] = body['trace_chain'].map do |trace_data|
            truncate_trace_data(trace_data)
          end
        else
          body['trace'] = truncate_trace_data(body['trace'])
        end


        dump(new_payload)
      end

      def truncate_trace_data(trace_data)
        trace_data['exception'].delete('description')
        trace_data['exception']['message'] = trace_data['exception']['message'][0, 255]
        trace_data['frames'] = select_frames(trace_data['frames'], 1)

        trace_data
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rollbar-1.5.1 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.5.0 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.4.5 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.4.4 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.4.3 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.4.2 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.4.1 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.4.0 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.3.2 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.3.1 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.3.0 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.2.13 lib/rollbar/truncation/min_body_strategy.rb
rollbar-1.2.12 lib/rollbar/truncation/min_body_strategy.rb