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.


890
891
892
893
894
895
896
# File 'lib/rack/lint.rb', line 890

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