Automattic\WooCommerce\Admin\API\RateLimits

QRLoginRateLimits::get_bucket_optionsprivate staticWC 1.0

Get bucket options.

Method of the class: QRLoginRateLimits{}

No Hooks.

Returns

array{limit:int, seconds:int}|null.

Usage

$result = QRLoginRateLimits::get_bucket_options( $bucket ): ?array;
$bucket(string) (required)
Bucket name.

QRLoginRateLimits::get_bucket_options() code WC 11.0.1

private static function get_bucket_options( string $bucket ): ?array {
	switch ( $bucket ) {
		case self::BUCKET_GENERATION:
			return array(
				'limit'   => MobileAppQRLogin::MAX_TOKENS_PER_WINDOW,
				'seconds' => 15 * MINUTE_IN_SECONDS,
			);
		case self::BUCKET_EXCHANGE_IP:
			return array(
				'limit'   => MobileAppQRLogin::MAX_EXCHANGE_IP_ATTEMPTS,
				'seconds' => 15 * MINUTE_IN_SECONDS,
			);
		case self::BUCKET_INVALID_EXCHANGE:
			return array(
				'limit'   => MobileAppQRLogin::MAX_INVALID_EXCHANGE_ATTEMPTS,
				'seconds' => 15 * MINUTE_IN_SECONDS,
			);
		case self::BUCKET_INVALID_SCAN:
			return array(
				'limit'   => MobileAppQRLogin::MAX_INVALID_SCAN_ATTEMPTS,
				'seconds' => 15 * MINUTE_IN_SECONDS,
			);
		case self::BUCKET_VALID_EXCHANGE:
			return array(
				'limit'   => MobileAppQRLogin::MAX_EXCHANGE_ATTEMPTS,
				'seconds' => 15 * MINUTE_IN_SECONDS,
			);
		case self::BUCKET_STATUS:
			return array(
				'limit'   => MobileAppQRLogin::MAX_STATUS_CHECKS_PER_WINDOW,
				'seconds' => 15 * MINUTE_IN_SECONDS,
			);
		case self::BUCKET_REVOKE:
			return array(
				'limit'   => MobileAppQRLogin::MAX_REVOKE_ATTEMPTS,
				'seconds' => 15 * MINUTE_IN_SECONDS,
			);
		case self::BUCKET_SCAN:
			return array(
				'limit'   => MobileAppQRLogin::MAX_SCAN_PER_WINDOW,
				'seconds' => 15 * MINUTE_IN_SECONDS,
			);
		case self::BUCKET_APPROVE:
			return array(
				'limit'   => MobileAppQRLogin::MAX_APPROVE_PER_WINDOW,
				'seconds' => 15 * MINUTE_IN_SECONDS,
			);
		case self::BUCKET_SESSION_STATUS:
			return array(
				'limit'   => MobileAppQRLogin::MAX_SESSION_STATUS_PER_WINDOW,
				'seconds' => 15 * MINUTE_IN_SECONDS,
			);
	}

	return null;
}