Sha256: c1b5d30d53fcd10a03aa1f3cf54a34a333933cac24a0eb5b88954b9ac85415c9

Contents?: true

Size: 737 Bytes

Versions: 13

Compression:

Stored size: 737 Bytes

Contents

# This code was originaly copied from Rack::BodyProxy
# https://github.com/rack/rack/blob/master/lib/rack/body_proxy.rb
#
# Copyright (C) 2007, 2008, 2009, 2010 Christian Neukirchen <purl.org/net/chneukirchen>

module Rack
  class BodyProxy
    def initialize(body, &block)
      @body, @block, @closed = body, block, false
    end

    def respond_to?(*args)
      super or @body.respond_to?(*args)
    end

    def close
      raise IOError, "closed stream" if @closed
      begin
        @body.close if @body.respond_to? :close
      ensure
        @block.call
        @closed = true
      end
    end

    def closed?
      @closed
    end

    def method_missing(*args, &block)
      @body.__send__(*args, &block)
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
deltacloud-core-1.1.3 lib/sinatra/body_proxy.rb
deltacloud-core-1.1.2 lib/sinatra/body_proxy.rb
deltacloud-core-1.1.1 lib/sinatra/body_proxy.rb
deltacloud-core-1.1.0 lib/sinatra/body_proxy.rb
deltacloud-core-1.0.5 lib/sinatra/body_proxy.rb
deltacloud-core-1.0.4 lib/sinatra/body_proxy.rb
deltacloud-core-1.0.3 lib/sinatra/body_proxy.rb
deltacloud-core-1.0.2 lib/sinatra/body_proxy.rb
deltacloud-core-1.0.1 lib/sinatra/body_proxy.rb
deltacloud-core-1.0.0 lib/sinatra/body_proxy.rb
deltacloud-core-0.5.0 lib/sinatra/body_proxy.rb
deltacloud-core-0.4.1 lib/sinatra/body_proxy.rb
deltacloud-core-0.4.0 lib/sinatra/body_proxy.rb