| Server IP : 80.65.208.158 / Your IP : 216.73.216.25 Web Server : Microsoft-IIS/10.0 System : Windows NT VMI1501711 10.0 build 17763 (Windows Server 2019) AMD64 User : IWPD_134(rotechno) ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Inetpub/vhosts/rotechnochem.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;
}
}