# File lib/phusion_passenger/utils/tee_input.rb, line 151
  def gets
    if socket_drained?
      @tmp.gets
    else
      if @bytes_read == @len
        nil
      elsif line = @socket.gets
        if @len
          max_len = @len - @bytes_read
          line.slice!(max_len, line.size - max_len)
        end
        @bytes_read += line.size
        tee(line)
      else
        nil
      end
    end
  end