class Rack::Lint::Wrapper

def check_input_stream(input)

# POST data.
# The input stream is an IO-like object which contains the raw HTTP
#
# === The Input Stream
#
def check_input_stream(input)
  ## When applicable, its external encoding must be "ASCII-8BIT" and it
  ## must be opened in binary mode.
  if input.respond_to?(:external_encoding) && input.external_encoding != Encoding::ASCII_8BIT
    raise LintError, "rack.input #{input} does not have ASCII-8BIT as its external encoding"
  end
  if input.respond_to?(:binmode?) && !input.binmode?
    raise LintError, "rack.input #{input} is not opened in binary mode"
  end
  ## The input stream must respond to +gets+, +each+, and +read+.
  [:gets, :each, :read].each { |method|
    unless input.respond_to? method
      raise LintError, "rack.input #{input} does not respond to ##{method}"
    end
  }
end