| Server IP : 198.38.94.13 / Your IP : 216.73.217.33 Web Server : Apache System : Linux d4744.dxb1.stableserver.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : revivere ( 1140) PHP Version : 8.2.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/revivere/www/wp-content/plugins/redirect-redirection/analyst/src/Http/ |
Upload File : |
<?php
namespace Analyst\Http;
use WP_Error;
use Analyst\ApiResponse;
use Analyst\Contracts\HttpClientContract;
use Requests_Utility_CaseInsensitiveDictionary;
class WordPressHttpClient implements HttpClientContract
{
/**
* Make an http request
*
* @param $method
* @param $url
* @param $body
* @param $headers
* @return ApiResponse
*/
public function request($method, $url, $body, $headers)
{
$options = [
'body' => json_encode($body),
'headers' => $headers,
'method' => $method,
'timeout' => 30,
];
$response = wp_remote_request($url, $options);
$body = [];
$responseHeaders = [];
if ($response instanceof WP_Error) {
$code = $response->get_error_code();
} else {
/** @var Requests_Utility_CaseInsensitiveDictionary $headers */
$responseHeaders = $response['headers']->getAll();
$body = json_decode($response['body'], true);
$code = $response['response']['code'];
}
return new ApiResponse(
$body,
$code,
$responseHeaders
);
}
/**
* Must return `true` if client is supported
*
* @return bool
*/
public static function hasSupport()
{
return function_exists('wp_remote_request');
}
}