4e14ccc74d
Instiki now runs on the Rails 2.3.0 Candidate Release. Among other improvements, this means that it now automagically selects between WEBrick and Mongrel. Just run ./instiki --daemon
29 lines
586 B
Ruby
29 lines
586 B
Ruby
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
|