Sha256: 5a2da84e6fa2e83b22bec78e419a837e4c80453436cb3db88015246a7bc99c71
Contents?: true
Size: 586 Bytes
Versions: 3
Compression:
Stored size: 586 Bytes
Contents
module ActionController class RewindableInput class RewindableIO < ActiveSupport::BasicObject def initialize(io) @io = io @rewindable = io.is_a?(::StringIO) end def method_missing(method, *args, &block) unless @rewindable @io = ::StringIO.new(@io.read) @rewindable = true end @io.__send__(method, *args, &block) end end def initialize(app) @app = app end def call(env) env['rack.input'] = RewindableIO.new(env['rack.input']) @app.call(env) end end end
Version data entries
3 entries across 3 versions & 3 rubygems