# File src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb, line 47
      def call(env)
        status, headers, body = @app.call(env)

        case @strategy
        when :counting
          @mutex.synchronize do
            @request_count += 1
            if @request_count == @frequency
              @request_count = 0
              headers['!~Request-OOB-Work'] = 'true'
            end
          end

        when :gctools_oobgc
          if GC::OOB.dry_run
            headers['!~Request-OOB-Work'] = 'true'
          end

        else
          raise "Unrecognized Out-Of-Band GC strategy #{@strategy.inspect}"
        end

        [status, headers, body]
      end