PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.8
Booking for Appointments and Events Calendar – Amelia v2.4.8
2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / melograno / usage-tracker / src / Core / HttpClient.php
ameliabooking / vendor / melograno / usage-tracker / src / Core Last commit date
Anonymizer.php 2 months ago ConsentManager.php 2 months ago ConsentNoticeService.php 2 months ago HttpClient.php 2 months ago NoticeManager.php 2 months ago UsageTracker.php 2 months ago
HttpClient.php
53 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AmeliaVendor\Melograno\UsageTracker\Core;
6
7 class HttpClient
8 {
9 /**
10 * @param array<string, mixed> $data
11 */
12 public function post(string $url, array $data): bool
13 {
14 if (!function_exists('wp_remote_post')) {
15 return false;
16 }
17
18 $body = function_exists('wp_json_encode') ? wp_json_encode($data) : json_encode($data);
19
20 $response = wp_remote_post($url, [
21 'timeout' => 15,
22 'headers' => [
23 'Content-Type' => 'application/json',
24 ],
25 'body' => $body,
26 ]);
27
28 if (is_wp_error($response)) {
29 if (defined('WP_DEBUG') && WP_DEBUG) {
30 error_log('[melograno/usage-tracker] HTTP error: ' . $response->get_error_message());
31 }
32
33 return false;
34 }
35
36 $code = (int) wp_remote_retrieve_response_code($response);
37
38 if ($code < 200 || $code >= 300) {
39 if (defined('WP_DEBUG') && WP_DEBUG) {
40 $responseBody = wp_remote_retrieve_body($response);
41 error_log(
42 '[melograno/usage-tracker] HTTP status: ' . $code
43 . ($responseBody !== '' ? ' body: ' . $responseBody : '')
44 );
45 }
46
47 return false;
48 }
49
50 return true;
51 }
52 }
53