Sha256: c16fd5e9b21063491c2e772c796f31a8b6ef5760c5313048f99d884ca1540c35
Contents?: true
Size: 1.43 KB
Versions: 2
Compression:
Stored size: 1.43 KB
Contents
# frozen_string_literal: true module Puma # Provides an IO-like object that always appears to contain no data. # Used as the value for rack.input when the request has no body. # class NullIO def gets nil end def string "" end def each end def pos 0 end # Mimics IO#read with no data. # def read(length = nil, buffer = nil) if length.to_i < 0 raise ArgumentError, "(negative length #{length} given)" end buffer = if buffer.nil? "".b else String.try_convert(buffer) or raise TypeError, "no implicit conversion of #{buffer.class} into String" end buffer.clear if length.to_i > 0 nil else buffer end end def rewind end def seek(pos, whence = 0) raise ArgumentError, "negative length #{pos} given" if pos.negative? 0 end def close end def size 0 end def eof? true end def sync true end def sync=(v) end def puts(*ary) end def write(*ary) end def flush self end # This is used as singleton class, so can't have state. def closed? false end def set_encoding(enc) self end # per rack spec def external_encoding Encoding::ASCII_8BIT end def binmode self end def binmode? true end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
puma-6.5.0-java | lib/puma/null_io.rb |
puma-6.5.0 | lib/puma/null_io.rb |