| Server IP : 193.146.211.90 / Your IP : 10.85.6.55 Web Server : Apache System : Linux wordpress-gti-69dcdb54f7-n4wdq 6.11.8-arch1-2 #1 SMP PREEMPT_DYNAMIC Fri, 15 Nov 2024 15:35:07 +0000 x86_64 User : 1001 ( 1001) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /bitnami/wordpress/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;
}
}