Edit File by line
/home/zeestwma/ceyloniy.../wp-inclu.../Requests/src
File: Autoload.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Autoloader for Requests for PHP.
[2] Fix | Delete
*
[3] Fix | Delete
* Include this file if you'd like to avoid having to create your own autoloader.
[4] Fix | Delete
*
[5] Fix | Delete
* @package Requests
[6] Fix | Delete
* @since 2.0.0
[7] Fix | Delete
*
[8] Fix | Delete
* @codeCoverageIgnore
[9] Fix | Delete
*/
[10] Fix | Delete
[11] Fix | Delete
namespace WpOrg\Requests;
[12] Fix | Delete
[13] Fix | Delete
/*
[14] Fix | Delete
* Ensure the autoloader is only declared once.
[15] Fix | Delete
* This safeguard is in place as this is the typical entry point for this library
[16] Fix | Delete
* and this file being required unconditionally could easily cause
[17] Fix | Delete
* fatal "Class already declared" errors.
[18] Fix | Delete
*/
[19] Fix | Delete
if (class_exists('WpOrg\Requests\Autoload') === false) {
[20] Fix | Delete
[21] Fix | Delete
/**
[22] Fix | Delete
* Autoloader for Requests for PHP.
[23] Fix | Delete
*
[24] Fix | Delete
* This autoloader supports the PSR-4 based Requests 2.0.0 classes in a case-sensitive manner
[25] Fix | Delete
* as the most common server OS-es are case-sensitive and the file names are in mixed case.
[26] Fix | Delete
*
[27] Fix | Delete
* For the PSR-0 Requests 1.x BC-layer, requested classes will be treated case-insensitively.
[28] Fix | Delete
*
[29] Fix | Delete
* @package Requests
[30] Fix | Delete
*/
[31] Fix | Delete
final class Autoload {
[32] Fix | Delete
[33] Fix | Delete
/**
[34] Fix | Delete
* List of the old PSR-0 class names in lowercase as keys with their PSR-4 case-sensitive name as a value.
[35] Fix | Delete
*
[36] Fix | Delete
* @var array
[37] Fix | Delete
*/
[38] Fix | Delete
private static $deprecated_classes = [
[39] Fix | Delete
// Interfaces.
[40] Fix | Delete
'requests_auth' => '\WpOrg\Requests\Auth',
[41] Fix | Delete
'requests_hooker' => '\WpOrg\Requests\HookManager',
[42] Fix | Delete
'requests_proxy' => '\WpOrg\Requests\Proxy',
[43] Fix | Delete
'requests_transport' => '\WpOrg\Requests\Transport',
[44] Fix | Delete
[45] Fix | Delete
// Classes.
[46] Fix | Delete
'requests_cookie' => '\WpOrg\Requests\Cookie',
[47] Fix | Delete
'requests_exception' => '\WpOrg\Requests\Exception',
[48] Fix | Delete
'requests_hooks' => '\WpOrg\Requests\Hooks',
[49] Fix | Delete
'requests_idnaencoder' => '\WpOrg\Requests\IdnaEncoder',
[50] Fix | Delete
'requests_ipv6' => '\WpOrg\Requests\Ipv6',
[51] Fix | Delete
'requests_iri' => '\WpOrg\Requests\Iri',
[52] Fix | Delete
'requests_response' => '\WpOrg\Requests\Response',
[53] Fix | Delete
'requests_session' => '\WpOrg\Requests\Session',
[54] Fix | Delete
'requests_ssl' => '\WpOrg\Requests\Ssl',
[55] Fix | Delete
'requests_auth_basic' => '\WpOrg\Requests\Auth\Basic',
[56] Fix | Delete
'requests_cookie_jar' => '\WpOrg\Requests\Cookie\Jar',
[57] Fix | Delete
'requests_proxy_http' => '\WpOrg\Requests\Proxy\Http',
[58] Fix | Delete
'requests_response_headers' => '\WpOrg\Requests\Response\Headers',
[59] Fix | Delete
'requests_transport_curl' => '\WpOrg\Requests\Transport\Curl',
[60] Fix | Delete
'requests_transport_fsockopen' => '\WpOrg\Requests\Transport\Fsockopen',
[61] Fix | Delete
'requests_utility_caseinsensitivedictionary' => '\WpOrg\Requests\Utility\CaseInsensitiveDictionary',
[62] Fix | Delete
'requests_utility_filterediterator' => '\WpOrg\Requests\Utility\FilteredIterator',
[63] Fix | Delete
'requests_exception_http' => '\WpOrg\Requests\Exception\Http',
[64] Fix | Delete
'requests_exception_transport' => '\WpOrg\Requests\Exception\Transport',
[65] Fix | Delete
'requests_exception_transport_curl' => '\WpOrg\Requests\Exception\Transport\Curl',
[66] Fix | Delete
'requests_exception_http_304' => '\WpOrg\Requests\Exception\Http\Status304',
[67] Fix | Delete
'requests_exception_http_305' => '\WpOrg\Requests\Exception\Http\Status305',
[68] Fix | Delete
'requests_exception_http_306' => '\WpOrg\Requests\Exception\Http\Status306',
[69] Fix | Delete
'requests_exception_http_400' => '\WpOrg\Requests\Exception\Http\Status400',
[70] Fix | Delete
'requests_exception_http_401' => '\WpOrg\Requests\Exception\Http\Status401',
[71] Fix | Delete
'requests_exception_http_402' => '\WpOrg\Requests\Exception\Http\Status402',
[72] Fix | Delete
'requests_exception_http_403' => '\WpOrg\Requests\Exception\Http\Status403',
[73] Fix | Delete
'requests_exception_http_404' => '\WpOrg\Requests\Exception\Http\Status404',
[74] Fix | Delete
'requests_exception_http_405' => '\WpOrg\Requests\Exception\Http\Status405',
[75] Fix | Delete
'requests_exception_http_406' => '\WpOrg\Requests\Exception\Http\Status406',
[76] Fix | Delete
'requests_exception_http_407' => '\WpOrg\Requests\Exception\Http\Status407',
[77] Fix | Delete
'requests_exception_http_408' => '\WpOrg\Requests\Exception\Http\Status408',
[78] Fix | Delete
'requests_exception_http_409' => '\WpOrg\Requests\Exception\Http\Status409',
[79] Fix | Delete
'requests_exception_http_410' => '\WpOrg\Requests\Exception\Http\Status410',
[80] Fix | Delete
'requests_exception_http_411' => '\WpOrg\Requests\Exception\Http\Status411',
[81] Fix | Delete
'requests_exception_http_412' => '\WpOrg\Requests\Exception\Http\Status412',
[82] Fix | Delete
'requests_exception_http_413' => '\WpOrg\Requests\Exception\Http\Status413',
[83] Fix | Delete
'requests_exception_http_414' => '\WpOrg\Requests\Exception\Http\Status414',
[84] Fix | Delete
'requests_exception_http_415' => '\WpOrg\Requests\Exception\Http\Status415',
[85] Fix | Delete
'requests_exception_http_416' => '\WpOrg\Requests\Exception\Http\Status416',
[86] Fix | Delete
'requests_exception_http_417' => '\WpOrg\Requests\Exception\Http\Status417',
[87] Fix | Delete
'requests_exception_http_418' => '\WpOrg\Requests\Exception\Http\Status418',
[88] Fix | Delete
'requests_exception_http_428' => '\WpOrg\Requests\Exception\Http\Status428',
[89] Fix | Delete
'requests_exception_http_429' => '\WpOrg\Requests\Exception\Http\Status429',
[90] Fix | Delete
'requests_exception_http_431' => '\WpOrg\Requests\Exception\Http\Status431',
[91] Fix | Delete
'requests_exception_http_500' => '\WpOrg\Requests\Exception\Http\Status500',
[92] Fix | Delete
'requests_exception_http_501' => '\WpOrg\Requests\Exception\Http\Status501',
[93] Fix | Delete
'requests_exception_http_502' => '\WpOrg\Requests\Exception\Http\Status502',
[94] Fix | Delete
'requests_exception_http_503' => '\WpOrg\Requests\Exception\Http\Status503',
[95] Fix | Delete
'requests_exception_http_504' => '\WpOrg\Requests\Exception\Http\Status504',
[96] Fix | Delete
'requests_exception_http_505' => '\WpOrg\Requests\Exception\Http\Status505',
[97] Fix | Delete
'requests_exception_http_511' => '\WpOrg\Requests\Exception\Http\Status511',
[98] Fix | Delete
'requests_exception_http_unknown' => '\WpOrg\Requests\Exception\Http\StatusUnknown',
[99] Fix | Delete
];
[100] Fix | Delete
[101] Fix | Delete
/**
[102] Fix | Delete
* Register the autoloader.
[103] Fix | Delete
*
[104] Fix | Delete
* Note: the autoloader is *prepended* in the autoload queue.
[105] Fix | Delete
* This is done to ensure that the Requests 2.0 autoloader takes precedence
[106] Fix | Delete
* over a potentially (dependency-registered) Requests 1.x autoloader.
[107] Fix | Delete
*
[108] Fix | Delete
* @internal This method contains a safeguard against the autoloader being
[109] Fix | Delete
* registered multiple times. This safeguard uses a global constant to
[110] Fix | Delete
* (hopefully/in most cases) still function correctly, even if the
[111] Fix | Delete
* class would be renamed.
[112] Fix | Delete
*
[113] Fix | Delete
* @return void
[114] Fix | Delete
*/
[115] Fix | Delete
public static function register() {
[116] Fix | Delete
if (defined('REQUESTS_AUTOLOAD_REGISTERED') === false) {
[117] Fix | Delete
spl_autoload_register([self::class, 'load'], true);
[118] Fix | Delete
define('REQUESTS_AUTOLOAD_REGISTERED', true);
[119] Fix | Delete
}
[120] Fix | Delete
}
[121] Fix | Delete
[122] Fix | Delete
/**
[123] Fix | Delete
* Autoloader.
[124] Fix | Delete
*
[125] Fix | Delete
* @param string $class_name Name of the class name to load.
[126] Fix | Delete
*
[127] Fix | Delete
* @return bool Whether a class was loaded or not.
[128] Fix | Delete
*/
[129] Fix | Delete
public static function load($class_name) {
[130] Fix | Delete
// Check that the class starts with "Requests" (PSR-0) or "WpOrg\Requests" (PSR-4).
[131] Fix | Delete
$psr_4_prefix_pos = strpos($class_name, 'WpOrg\\Requests\\');
[132] Fix | Delete
[133] Fix | Delete
if (stripos($class_name, 'Requests') !== 0 && $psr_4_prefix_pos !== 0) {
[134] Fix | Delete
return false;
[135] Fix | Delete
}
[136] Fix | Delete
[137] Fix | Delete
$class_lower = strtolower($class_name);
[138] Fix | Delete
[139] Fix | Delete
if ($class_lower === 'requests') {
[140] Fix | Delete
// Reference to the original PSR-0 Requests class.
[141] Fix | Delete
$file = dirname(__DIR__) . '/library/Requests.php';
[142] Fix | Delete
} elseif ($psr_4_prefix_pos === 0) {
[143] Fix | Delete
// PSR-4 classname.
[144] Fix | Delete
$file = __DIR__ . '/' . strtr(substr($class_name, 15), '\\', '/') . '.php';
[145] Fix | Delete
}
[146] Fix | Delete
[147] Fix | Delete
if (isset($file) && file_exists($file)) {
[148] Fix | Delete
include $file;
[149] Fix | Delete
return true;
[150] Fix | Delete
}
[151] Fix | Delete
[152] Fix | Delete
/*
[153] Fix | Delete
* Okay, so the class starts with "Requests", but we couldn't find the file.
[154] Fix | Delete
* If this is one of the deprecated/renamed PSR-0 classes being requested,
[155] Fix | Delete
* let's alias it to the new name and throw a deprecation notice.
[156] Fix | Delete
*/
[157] Fix | Delete
if (isset(self::$deprecated_classes[$class_lower])) {
[158] Fix | Delete
/*
[159] Fix | Delete
* Integrators who cannot yet upgrade to the PSR-4 class names can silence deprecations
[160] Fix | Delete
* by defining a `REQUESTS_SILENCE_PSR0_DEPRECATIONS` constant and setting it to `true`.
[161] Fix | Delete
* The constant needs to be defined before the first deprecated class is requested
[162] Fix | Delete
* via this autoloader.
[163] Fix | Delete
*/
[164] Fix | Delete
if (!defined('REQUESTS_SILENCE_PSR0_DEPRECATIONS') || REQUESTS_SILENCE_PSR0_DEPRECATIONS !== true) {
[165] Fix | Delete
// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error
[166] Fix | Delete
trigger_error(
[167] Fix | Delete
'The PSR-0 `Requests_...` class names in the Requests library are deprecated.'
[168] Fix | Delete
. ' Switch to the PSR-4 `WpOrg\Requests\...` class names at your earliest convenience.',
[169] Fix | Delete
E_USER_DEPRECATED
[170] Fix | Delete
);
[171] Fix | Delete
[172] Fix | Delete
// Prevent the deprecation notice from being thrown twice.
[173] Fix | Delete
if (!defined('REQUESTS_SILENCE_PSR0_DEPRECATIONS')) {
[174] Fix | Delete
define('REQUESTS_SILENCE_PSR0_DEPRECATIONS', true);
[175] Fix | Delete
}
[176] Fix | Delete
}
[177] Fix | Delete
[178] Fix | Delete
// Create an alias and let the autoloader recursively kick in to load the PSR-4 class.
[179] Fix | Delete
return class_alias(self::$deprecated_classes[$class_lower], $class_name, true);
[180] Fix | Delete
}
[181] Fix | Delete
[182] Fix | Delete
return false;
[183] Fix | Delete
}
[184] Fix | Delete
}
[185] Fix | Delete
}
[186] Fix | Delete
[187] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function