Class: Rackup::Handler::WEBrick::Input

Inherits:
Object
  • Object
show all
Includes:
Stream::Reader
Defined in:
lib/rackup/handler/webrick.rb

Overview

This handles mapping the WEBrick request to a Rack input stream.

Instance Method Summary collapse

Methods included from Stream::Reader

#each, #gets, #read, #read_nonblock, #read_partial

Constructor Details

#initialize(request) ⇒ Input

Returns a new instance of Input.



75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/rackup/handler/webrick.rb', line 75

def initialize(request)
  @request = request

  @reader = Fiber.new do
    @request.body do |chunk|
      Fiber.yield(chunk)
    end

    Fiber.yield(nil)

    # End of stream:
    @reader = nil
  end
end

Instance Method Details

#closeObject



90
91
92
93
# File 'lib/rackup/handler/webrick.rb', line 90

def close
  @request = nil
  @reader = nil
end