PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.6.1
GiveWP – Donation Plugin and Fundraising Platform v4.16.6.1
4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / vendor-prefixed / stellarwp / licensing-api-client / src / Config.php
give / vendor / vendor-prefixed / stellarwp / licensing-api-client / src Last commit date
Concerns 3 months ago Contracts 3 months ago Exceptions 3 months ago Http 3 months ago Requests 3 months ago Resources 3 months ago Responses 3 months ago Tracing 3 months ago Value 3 months ago Api.php 3 months ago ApiBuilder.php 3 months ago Config.php 3 months ago
Config.php
88 lines
1 <?php declare(strict_types=1);
2
3 namespace Give\Vendors\LiquidWeb\LicensingApiClient;
4
5 use InvalidArgumentException;
6 use Give\Vendors\LiquidWeb\LicensingApiClient\Http\RetryPolicy;
7 use Give\Vendors\LiquidWeb\LicensingApiClient\Value\AuthToken;
8
9 /**
10 * Stores stable client configuration shared across API requests.
11 */
12 final class Config
13 {
14 public string $baseUri;
15
16 public ?AuthToken $configuredToken;
17
18 public string $userAgent;
19
20 public RetryPolicy $retryPolicy;
21
22 public string $restNamespace;
23
24 public string $apiRoot;
25
26 /**
27 * @throws InvalidArgumentException
28 */
29 public function __construct(
30 string $baseUri,
31 ?string $configuredToken = null,
32 ?string $userAgent = null,
33 ?RetryPolicy $retryPolicy = null,
34 ?string $restNamespace = null,
35 ?string $apiRoot = null
36 ) {
37 $baseUri = rtrim($baseUri, '/');
38 $apiRoot = trim(($apiRoot ?? 'api'), '/');
39 $restNamespace = trim(($restNamespace ?? 'liquidweb'), '/');
40
41 if ($baseUri === '') {
42 throw new InvalidArgumentException('Base URI cannot be empty.');
43 }
44
45 if ($apiRoot === '') {
46 throw new InvalidArgumentException('API root cannot be empty.');
47 }
48
49 if ($restNamespace === '') {
50 throw new InvalidArgumentException('REST namespace cannot be empty.');
51 }
52
53 $this->baseUri = $baseUri;
54 $this->configuredToken = $configuredToken !== null ? new AuthToken($configuredToken) : null;
55 $this->userAgent = $userAgent !== null && $userAgent !== '' ? $userAgent : 'stellarwp/licensing-api-client';
56 $this->apiRoot = $apiRoot;
57 $this->restNamespace = $restNamespace;
58 $this->retryPolicy = $retryPolicy ?: RetryPolicy::default();
59 }
60
61 /**
62 * @param array{
63 * base_uri?: non-empty-string,
64 * configured_token?: non-empty-string|null,
65 * user_agent?: non-empty-string|null,
66 * retry_policy?: RetryPolicy|null,
67 * rest_namespace?: non-empty-string|null,
68 * api_root?: non-empty-string|null
69 * } $config
70 *
71 * @throws InvalidArgumentException
72 */
73 public static function fromArray(array $config): self {
74 return new self(
75 $config['base_uri'] ?? '',
76 $config['configured_token'] ?? null,
77 $config['user_agent'] ?? null,
78 $config['retry_policy'] ?? null,
79 $config['rest_namespace'] ?? null,
80 $config['api_root'] ?? null
81 );
82 }
83
84 public function apiRootPath(): string {
85 return '/' . $this->apiRoot;
86 }
87 }
88