class Rackup::Handler::WEBrick::Input

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

Public Class Methods

new(request) click to toggle source
# File lib/rackup/handler/webrick.rb, line 63
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

Public Instance Methods

close() click to toggle source
# File lib/rackup/handler/webrick.rb, line 78
def close
  @request = nil
  @reader = nil
end

Private Instance Methods

read_next() click to toggle source

Read one chunk from the request body.

# File lib/rackup/handler/webrick.rb, line 86
def read_next
  @reader&.resume
end