Sha256: 63df15363c6fe2b4919da0bdf059d4b23f8043d7b962756d63aa8f06d3d494b2

Contents?: true

Size: 490 Bytes

Versions: 17

Compression:

Stored size: 490 Bytes

Contents

module Errplane
  class Rack
    def initialize(app)
      @app = app
    end

    def call(env)
      dup._call(env)
    end

    def _call(env)
      begin
        status, headers, body = @app.call(env)
      rescue => e
        Errplane.transmit_unless_ignorable(e, env)
        raise(e)
      ensure
        _body = []
        body.each { |line| _body << line } unless body.nil?
        body.close if body.respond_to?(:close)
      end

      [status, headers, _body]
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
errplane-1.0.15 lib/errplane/rack.rb
errplane-1.0.14 lib/errplane/rack.rb
errplane-1.0.13 lib/errplane/rack.rb
errplane-1.0.11 lib/errplane/rack.rb
errplane-1.0.10 lib/errplane/rack.rb
errplane-1.0.9 lib/errplane/rack.rb
errplane-1.0.8 lib/errplane/rack.rb
errplane-1.0.7 lib/errplane/rack.rb
errplane-1.0.6 lib/errplane/rack.rb
errplane-1.0.5 lib/errplane/rack.rb
errplane-1.0.4 lib/errplane/rack.rb
errplane-1.0.3 lib/errplane/rack.rb
errplane-1.0.2 lib/errplane/rack.rb
errplane-1.0.1 lib/errplane/rack.rb
errplane-1.0.0 lib/errplane/rack.rb
errplane-0.6.10 lib/errplane/rack.rb
errplane-0.6.9 lib/errplane/rack.rb