| Server IP : 172.67.133.75 / Your IP : 162.159.115.10 Web Server : nginx/1.26.1 System : Linux HE9229 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 User : www ( 1000) PHP Version : 8.0.26 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/jl3_ph_com/wp-content/plugins/cloudflare/src/API/ |
Upload File : |
<?php
namespace Cloudflare\APO\API;
use Cloudflare\APO\API\Request;
class DefaultHttpClient implements HttpClientInterface
{
const CONTENT_TYPE_KEY = 'Content-Type';
const APPLICATION_JSON_KEY = 'application/json';
protected $endpoint;
/**
* @param String $endpoint
*/
public function __construct($endpoint)
{
$this->endpoint = $endpoint;
}
/**
* @param Request $request
* @throws \Exception
* @return Array $response
*/
public function send(Request $request)
{
$requestOptions = $this->createRequestOptions($request);
$url = $this->createRequestUrl($request);
$response = wp_remote_request($url, $requestOptions);
if (is_wp_error($response)) {
throw new \Exception('Request error', $response->get_error_code);
}
$response_body = json_decode($response['body']);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new \Exception('Error decoding client API JSON', json_last_error());
}
return $response_body;
}
/**
* @param Request $request
* @return array $requestOptions
*/
public function createRequestOptions(Request $request)
{
$requestOptions = array(
'method' => $request->getMethod(),
'headers' => $request->getHeaders(),
'body' => $request->getBody(),
);
return $requestOptions;
}
/**
* @param Request $request
* @return string $url
*/
public function createRequestUrl(Request $request)
{
$url = $this->endpoint . $request->getUrl();
foreach ($request->getParameters() as $key => $value) {
$url = add_query_arg($key, $value, $url);
}
return $url;
}
}