# File lib/unicorn/stream_input.rb, line 74
  def gets
    sep = $/
    if sep.nil?
      read_all(rv = '')
      return rv.empty? ? nil : rv
    end
    re = /\A(.*?#{Regexp.escape(sep)})/

    begin
      @rbuf.sub!(re, '') and return $1
      return @rbuf.empty? ? nil : @rbuf.slice!(0, @rbuf.size) if eof?
      @socket.kgio_read(@@io_chunk_size, @buf) or eof!
      filter_body(once = '', @buf)
      @rbuf << once
    end while true
  end