mirror of
https://github.com/puma/puma.git
synced 2022-11-09 13:48:40 -05:00
60 lines
719 B
Ruby
60 lines
719 B
Ruby
# 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
|
|
|
|
# Mimics IO#read with no data.
|
|
#
|
|
def read(count = nil, _buffer = nil)
|
|
count && count > 0 ? nil : ""
|
|
end
|
|
|
|
def rewind
|
|
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
|
|
|
|
def closed?
|
|
true
|
|
end
|
|
end
|
|
end
|