Sha256: efbf53f16d5420366e7abc62da6ada7b5b9b533813fef14a5db2198a5de398db

Contents?: true

Size: 701 Bytes

Versions: 17

Compression:

Stored size: 701 Bytes

Contents

require 'rollbar/util'
require 'rollbar/truncation/mixin'
require 'rollbar/truncation/raw_strategy'
require 'rollbar/truncation/frames_strategy'
require 'rollbar/truncation/strings_strategy'
require 'rollbar/truncation/min_body_strategy'

module Rollbar
  module Truncation
    extend ::Rollbar::Truncation::Mixin

    MAX_PAYLOAD_SIZE = 512 * 1024 # 512kb
    STRATEGIES = [RawStrategy,
                  FramesStrategy,
                  StringsStrategy,
                  MinBodyStrategy]

    def self.truncate(payload)
      result = nil

      STRATEGIES.each do |strategy|
        result = strategy.call(payload)
        break unless truncate?(result)
      end

      result
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
rollbar-2.19.2 lib/rollbar/truncation.rb
rollbar-2.19.1 lib/rollbar/truncation.rb
rollbar-2.19.0 lib/rollbar/truncation.rb
rollbar-2.18.2 lib/rollbar/truncation.rb
rollbar-2.18.0 lib/rollbar/truncation.rb
rollbar-2.17.0 lib/rollbar/truncation.rb
rollbar-2.16.4 lib/rollbar/truncation.rb
rollbar-2.16.3 lib/rollbar/truncation.rb
rollbar-2.16.2 lib/rollbar/truncation.rb
rollbar-2.16.0 lib/rollbar/truncation.rb
rollbar-2.15.6 lib/rollbar/truncation.rb
rollbar-2.15.5 lib/rollbar/truncation.rb
rollbar-2.15.4 lib/rollbar/truncation.rb
rollbar-2.15.3 lib/rollbar/truncation.rb
rollbar-2.15.2 lib/rollbar/truncation.rb
rollbar-2.15.1 lib/rollbar/truncation.rb
rollbar-2.15.0 lib/rollbar/truncation.rb