| Server IP : 103.191.208.88 / Your IP : 216.73.216.44 Web Server : Microsoft-IIS/10.0 System : Windows NT COSMIC 10.0 build 20348 (Windows Server 2022) AMD64 User : IWPD_1831(willswel_) ( 0) PHP Version : 8.2.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : D:/Inetpub/vhosts/willswell.com/httpdocs/wp-content/plugins/elementor/core/utils/ |
Upload File : |
<?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;
}
}