module Protocol::HTTP::Body::Reader
def body?
def body? @body and !@body.empty? end
def buffered!
Buffer the entire request/response body.
def buffered! if @body @body = @body.finish end return self end
def close(error = nil)
def close(error = nil) if @body @body.close(error) @body = nil end end
def discard
def discard if body = @body @body = nil body.discard end end
def each(&block)
Read chunks from the body.
def each(&block) if @body @body.each(&block) @body = nil end end
def finish
Gracefully finish reading the body. This will buffer the remainder of the body.
def finish if @body body = @body.finish @body = nil return body end end
def read
Reads the entire request/response body.
def read if @body buffer = @body.join @body = nil return buffer end end
def save(path, mode = ::File::WRONLY|::File::CREAT|::File::TRUNC, **options)
def save(path, mode = ::File::WRONLY|::File::CREAT|::File::TRUNC, **options) if @body ::File.open(path, mode, **options) do |file| self.each do |chunk| file.write(chunk) end end end end