Class: Rack::Lint::Wrapper::StreamWrapper

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/rack/lint.rb

Constant Summary collapse

REQUIRED_METHODS =

The semantics of these IO methods must be a best effort match to those of a normal Ruby IO or Socket object, using standard arguments and raising standard exceptions. Servers are encouraged to simply pass on real IO objects, although it is recognized that this approach is not directly compatible with HTTP/2.

[
  :read, :write, :<<, :flush, :close,
  :close_read, :close_write, :closed?
]

Instance Method Summary collapse

Constructor Details

#initialize(stream) ⇒ StreamWrapper

Returns a new instance of StreamWrapper.



974
975
976
977
978
979
980
# File 'lib/rack/lint.rb', line 974

def initialize(stream)
  @stream = stream

  REQUIRED_METHODS.each do |method_name|
    raise LintError, "Stream must respond to #{method_name}" unless stream.respond_to?(method_name)
  end
end