Sha256: ffb1cc725baae75ed9e9676d661f3733fecbf2fad5cb23899ae27644c1524816

Contents?: true

Size: 772 Bytes

Versions: 16

Compression:

Stored size: 772 Bytes

Contents

module Honeybadger
  class UserInformer
    def initialize(app)
      @app = app
    end

    def replacement(with)
      Honeybadger.configuration.user_information.gsub(/\{\{\s*error_id\s*\}\}/, with.to_s)
    end

    def call(env)
      status, headers, body = @app.call(env)
      if env['honeybadger.error_id'] && Honeybadger.configuration.user_information
        new_body = []
        replace  = replacement(env['honeybadger.error_id'])
        body.each do |chunk|
          new_body << chunk.gsub("<!-- HONEYBADGER ERROR -->", replace)
        end
        body.close if body.respond_to?(:close)
        headers['Content-Length'] = new_body.reduce(0) { |a,e| a += e.bytesize }.to_s
        body = new_body
      end
      [status, headers, body]
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
honeybadger-1.13.2 lib/honeybadger/user_informer.rb
honeybadger-1.13.1 lib/honeybadger/user_informer.rb
honeybadger-1.13.0 lib/honeybadger/user_informer.rb
honeybadger-1.11.2 lib/honeybadger/user_informer.rb
honeybadger-1.11.1 lib/honeybadger/user_informer.rb
honeybadger-1.11.0 lib/honeybadger/user_informer.rb
honeybadger-1.10.3 lib/honeybadger/user_informer.rb
honeybadger-1.11.0.beta4 lib/honeybadger/user_informer.rb
honeybadger-1.11.0.beta3 lib/honeybadger/user_informer.rb
honeybadger-1.11.0.beta2 lib/honeybadger/user_informer.rb
honeybadger-1.10.2 lib/honeybadger/user_informer.rb
honeybadger-1.11.0.beta1 lib/honeybadger/user_informer.rb
honeybadger-1.10.1 lib/honeybadger/user_informer.rb
honeybadger-1.10.0 lib/honeybadger/user_informer.rb
honeybadger-1.10.0.beta2 lib/honeybadger/user_informer.rb
honeybadger-1.10.0.beta1 lib/honeybadger/user_informer.rb