Class: Rack::Multipart::Parser::BoundedIO

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/multipart/parser.rb

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(io, content_length) ⇒ BoundedIO

Returns a new instance of BoundedIO.

 84 85 86 87 88
# File 'lib/rack/multipart/parser.rb', line 84 def initialize(io, content_length) @io = io @content_length = content_length @cursor = 0 end

Instance Method Details

#read(size, outbuf = nil) ⇒ Object

 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
# File 'lib/rack/multipart/parser.rb', line 90 def read(size, outbuf = nil) return if @cursor >= @content_length left = @content_length - @cursor str = if left < size @io.read left, outbuf else @io.read size, outbuf end if str @cursor += str.bytesize else # Raise an error for mismatching content-length and actual contents  raise EOFError, "bad content body" end str end