Automattic\WooCommerce\Internal\OrderWithdrawal

OrderWithdrawalFormProcessor::apply_rate_limits │ private │ WC 1.0

Set or clear the order withdrawal submission rate limits.

Method of the class: OrderWithdrawalFormProcessor{}

No Hooks.

Returns

bool. True if all rate limits were applied, false otherwise.

Usage

// private - for code of main (parent) class only
$result = $this->apply_rate_limits( $rate_limit_ids, $delay ): bool;
$rate_limit_ids(string[]) (required)
Rate limit IDs.
$delay(int)
Delay in seconds for the rate limit. Use -1 to clear the rate limit.
Default: self::RATE_LIMIT_DELAY

OrderWithdrawalFormProcessor::apply_rate_limits() code WC 11.1.2

private function apply_rate_limits( array $rate_limit_ids, int $delay = self::RATE_LIMIT_DELAY ): bool {
	$applied_rate_limit_ids = array();

	foreach ( $rate_limit_ids as $rate_limit_id ) {
		if ( ! WC_Rate_Limiter::set_rate_limit( $rate_limit_id, $delay ) ) {
			foreach ( $applied_rate_limit_ids as $applied_rate_limit_id ) {
				WC_Rate_Limiter::set_rate_limit( $applied_rate_limit_id, -1 );
			}

			return false;
		}

		$applied_rate_limit_ids[] = $rate_limit_id;
	}

	return true;
}