| Server IP : 145.239.37.162 / Your IP : 216.73.216.84 Web Server : Apache System : Linux webm003.cluster130.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : verseaa ( 38250) PHP Version : 7.4.33 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/verseaa/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');
}
}