PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
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 1 month ago ConsentManager.php 1 month ago ConsentNoticeService.php 1 month ago HttpClient.php 1 month ago NoticeManager.php 1 month ago UsageTracker.php 1 month 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