mirror of
https://github.com/puma/puma.git
synced 2022-11-09 13:48:40 -05:00
88e51fb08e
Reduces runtime allocation by freezing string literals by default. We could also remove a ton of manual `.freeze` calls, however the ruby supported version is 2.2 and the magic comment only targets 2.3+.
44 lines
585 B
Ruby
44 lines
585 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 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=(v)
|
|
end
|
|
|
|
def puts(*ary)
|
|
end
|
|
|
|
def write(*ary)
|
|
end
|
|
end
|
|
end
|