Sha256: 53ad0c5327216f21b008701354d513314142032291397931e08565c0ebb8e986

Contents?: true

Size: 719 Bytes

Versions: 6

Compression:

Stored size: 719 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

6 entries across 6 versions & 1 rubygems

Version Path
rollbar-2.14.1 lib/rollbar/truncation.rb
rollbar-2.14.0 lib/rollbar/truncation.rb
rollbar-2.13.3 lib/rollbar/truncation.rb
rollbar-2.13.2 lib/rollbar/truncation.rb
rollbar-2.13.1 lib/rollbar/truncation.rb
rollbar-2.13.0 lib/rollbar/truncation.rb