HEX
Server: LiteSpeed
System: Linux server53.web-hosting.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64
User: nahevttf (6494)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /home/nahevttf/public_html/wp-content/plugins/elementor/core/utils/http.php
<?php
namespace Elementor\Core\Utils;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

class Http extends \WP_Http {
	/**
	 * Pass multiple urls to implements a fallback machine when one of the urls
	 * is sending an error or not exists anymore.
	 *
	 * @param array $urls
	 * @param array $args
	 *
	 * @return array|\WP_Error|null
	 */
	public function request_with_fallback( array $urls, $args = [] ) {
		$response = null;

		foreach ( $urls as $url ) {
			$response = $this->request( $url, $args );

			if ( $this->is_successful_response( $response ) ) {
				return $response;
			}
		}

		return $response;
	}

	/**
	 * @param $response
	 *
	 * @return bool
	 */
	private function is_successful_response( $response ) {
		if ( is_wp_error( $response ) ) {
			return false;
		}

		$response_code = (int) wp_remote_retrieve_response_code( $response );

		if ( in_array( $response_code, [ 0, 404, 500 ], true ) ) {
			return false;
		}

		return true;
	}
}