<?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; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
import-export | Folder | 0755 |
|
|
promotions | Folder | 0755 |
|
|
svg | Folder | 0755 |
|
|
assets-config-provider.php | File | 1.49 KB | 0644 |
|
assets-translation-loader.php | File | 2.5 KB | 0644 |
|
collection.php | File | 9.37 KB | 0644 |
|
exceptions.php | File | 708 B | 0644 |
|
force-locale.php | File | 3.55 KB | 0644 |
|
hints.php | File | 9.64 KB | 0644 |
|
http.php | File | 981 B | 0644 |
|
isolation-manager.php | File | 415 B | 0644 |
|
plugins-manager.php | File | 2.83 KB | 0644 |
|
static-collection.php | File | 1.08 KB | 0644 |
|
str.php | File | 1000 B | 0644 |
|
version.php | File | 3.63 KB | 0644 |
|