--- !ruby/object:RI::ClassDescription 
attributes: []

class_methods: 
- !ruby/object:RI::MethodSummary 
  name: new
comment: 
- !ruby/struct:SM::Flow::P 
  body: Class which can make any IO object rewindable, including non-rewindable ones. It does this by buffering the data into a tempfile, which is rewindable.
- !ruby/struct:SM::Flow::P 
  body: rack.input is required to be rewindable, so if your input stream IO is non-rewindable by nature (e.g. a pipe or a socket) then you can wrap it in an object of this class to easily make it rewindable.
- !ruby/struct:SM::Flow::P 
  body: "Don't forget to call #close when you're done. This frees up temporary resources that RewindableInput uses, though it does <b>not</b> close the original IO object."
constants: []

full_name: Rack::RewindableInput
includes: []

instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: close
- !ruby/object:RI::MethodSummary 
  name: each
- !ruby/object:RI::MethodSummary 
  name: gets
- !ruby/object:RI::MethodSummary 
  name: read
- !ruby/object:RI::MethodSummary 
  name: rewind
name: RewindableInput
superclass: Object
