1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
puma--puma/lib/puma/null_io.rb

62 lines
780 B
Ruby
Raw Normal View History

# frozen_string_literal: true
module Puma
2011-12-01 18:23:14 -05:00
# 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
# Mimics IO#read with no data.
2011-12-01 18:23:14 -05:00
#
def read(count = nil, _buffer = nil)
2020-03-07 09:15:43 -05:00
count && count > 0 ? nil : ""
end
def rewind
end
def close
end
2016-02-04 23:54:21 -05:00
def size
0
end
2016-02-07 17:51:54 -05:00
def eof?
true
end
def sync
true
end
2016-02-07 17:51:54 -05:00
def sync=(v)
end
def puts(*ary)
end
def write(*ary)
end
def flush
self
end
2022-05-19 18:08:30 -04:00
# This is used as singleton class, so can't have state.
2022-05-19 18:08:30 -04:00
def closed?
false
2022-05-19 18:08:30 -04:00
end
end
end