Edit File by line
/home/zeestwma/ceyloniy.../wp-inclu.../Requests/src/Auth
File: Basic.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Basic Authentication provider
[2] Fix | Delete
*
[3] Fix | Delete
* @package Requests\Authentication
[4] Fix | Delete
*/
[5] Fix | Delete
[6] Fix | Delete
namespace WpOrg\Requests\Auth;
[7] Fix | Delete
[8] Fix | Delete
use WpOrg\Requests\Auth;
[9] Fix | Delete
use WpOrg\Requests\Exception\ArgumentCount;
[10] Fix | Delete
use WpOrg\Requests\Exception\InvalidArgument;
[11] Fix | Delete
use WpOrg\Requests\Hooks;
[12] Fix | Delete
[13] Fix | Delete
/**
[14] Fix | Delete
* Basic Authentication provider
[15] Fix | Delete
*
[16] Fix | Delete
* Provides a handler for Basic HTTP authentication via the Authorization
[17] Fix | Delete
* header.
[18] Fix | Delete
*
[19] Fix | Delete
* @package Requests\Authentication
[20] Fix | Delete
*/
[21] Fix | Delete
class Basic implements Auth {
[22] Fix | Delete
/**
[23] Fix | Delete
* Username
[24] Fix | Delete
*
[25] Fix | Delete
* @var string
[26] Fix | Delete
*/
[27] Fix | Delete
public $user;
[28] Fix | Delete
[29] Fix | Delete
/**
[30] Fix | Delete
* Password
[31] Fix | Delete
*
[32] Fix | Delete
* @var string
[33] Fix | Delete
*/
[34] Fix | Delete
public $pass;
[35] Fix | Delete
[36] Fix | Delete
/**
[37] Fix | Delete
* Constructor
[38] Fix | Delete
*
[39] Fix | Delete
* @since 2.0 Throws an `InvalidArgument` exception.
[40] Fix | Delete
* @since 2.0 Throws an `ArgumentCount` exception instead of the Requests base `Exception.
[41] Fix | Delete
*
[42] Fix | Delete
* @param array|null $args Array of user and password. Must have exactly two elements
[43] Fix | Delete
*
[44] Fix | Delete
* @throws \WpOrg\Requests\Exception\InvalidArgument When the passed argument is not an array or null.
[45] Fix | Delete
* @throws \WpOrg\Requests\Exception\ArgumentCount On incorrect number of array elements (`authbasicbadargs`).
[46] Fix | Delete
*/
[47] Fix | Delete
public function __construct($args = null) {
[48] Fix | Delete
if (is_array($args)) {
[49] Fix | Delete
if (count($args) !== 2) {
[50] Fix | Delete
throw ArgumentCount::create('an array with exactly two elements', count($args), 'authbasicbadargs');
[51] Fix | Delete
}
[52] Fix | Delete
[53] Fix | Delete
list($this->user, $this->pass) = $args;
[54] Fix | Delete
return;
[55] Fix | Delete
}
[56] Fix | Delete
[57] Fix | Delete
if ($args !== null) {
[58] Fix | Delete
throw InvalidArgument::create(1, '$args', 'array|null', gettype($args));
[59] Fix | Delete
}
[60] Fix | Delete
}
[61] Fix | Delete
[62] Fix | Delete
/**
[63] Fix | Delete
* Register the necessary callbacks
[64] Fix | Delete
*
[65] Fix | Delete
* @see \WpOrg\Requests\Auth\Basic::curl_before_send()
[66] Fix | Delete
* @see \WpOrg\Requests\Auth\Basic::fsockopen_header()
[67] Fix | Delete
* @param \WpOrg\Requests\Hooks $hooks Hook system
[68] Fix | Delete
*/
[69] Fix | Delete
public function register(Hooks $hooks) {
[70] Fix | Delete
$hooks->register('curl.before_send', [$this, 'curl_before_send']);
[71] Fix | Delete
$hooks->register('fsockopen.after_headers', [$this, 'fsockopen_header']);
[72] Fix | Delete
}
[73] Fix | Delete
[74] Fix | Delete
/**
[75] Fix | Delete
* Set cURL parameters before the data is sent
[76] Fix | Delete
*
[77] Fix | Delete
* @param resource|\CurlHandle $handle cURL handle
[78] Fix | Delete
*/
[79] Fix | Delete
public function curl_before_send(&$handle) {
[80] Fix | Delete
curl_setopt($handle, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
[81] Fix | Delete
curl_setopt($handle, CURLOPT_USERPWD, $this->getAuthString());
[82] Fix | Delete
}
[83] Fix | Delete
[84] Fix | Delete
/**
[85] Fix | Delete
* Add extra headers to the request before sending
[86] Fix | Delete
*
[87] Fix | Delete
* @param string $out HTTP header string
[88] Fix | Delete
*/
[89] Fix | Delete
public function fsockopen_header(&$out) {
[90] Fix | Delete
$out .= sprintf("Authorization: Basic %s\r\n", base64_encode($this->getAuthString()));
[91] Fix | Delete
}
[92] Fix | Delete
[93] Fix | Delete
/**
[94] Fix | Delete
* Get the authentication string (user:pass)
[95] Fix | Delete
*
[96] Fix | Delete
* @return string
[97] Fix | Delete
*/
[98] Fix | Delete
public function getAuthString() {
[99] Fix | Delete
return $this->user . ':' . $this->pass;
[100] Fix | Delete
}
[101] Fix | Delete
}
[102] Fix | Delete
[103] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function