reset

in lib/puma/client.rb [106:141]


    def reset(fast_check=true)
      @parser.reset
      @read_header = true
      @env = @proto_env.dup
      @body = nil
      @tempfile = nil
      @parsed_bytes = 0
      @ready = false
      @body_remain = 0
      @peerip = nil
      @in_last_chunk = false

      if @buffer
        @parsed_bytes = @parser.execute(@env, @buffer, @parsed_bytes)

        if @parser.finished?
          return setup_body
        elsif @parsed_bytes >= MAX_HEADER
          raise HttpParserError,
            "HEADER is longer than allowed, aborting client early."
        end

        return false
      else
        begin
          if fast_check &&
              IO.select([@to_io], nil, nil, FAST_TRACK_KA_TIMEOUT)
            return try_to_finish
          end
        rescue IOError
          
        end

      end
    end