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 / ApiBuilder.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
ApiBuilder.php
100 lines
1 <?php declare(strict_types=1);
2
3 namespace Give\Vendors\LiquidWeb\LicensingApiClient;
4
5 use Give\Vendors\LiquidWeb\LicensingApiClient\Http\ApiVersion;
6 use Give\Vendors\LiquidWeb\LicensingApiClient\Http\AuthContext;
7 use Give\Vendors\LiquidWeb\LicensingApiClient\Http\AuthState;
8 use Give\Vendors\LiquidWeb\LicensingApiClient\Http\Factories\ApiUriFactory;
9 use Give\Vendors\LiquidWeb\LicensingApiClient\Http\Factories\ResponseExceptionFactory;
10 use Give\Vendors\LiquidWeb\LicensingApiClient\Http\JsonDecoder;
11 use Give\Vendors\LiquidWeb\LicensingApiClient\Http\RequestBuilder;
12 use Give\Vendors\LiquidWeb\LicensingApiClient\Http\RequestExecutor;
13 use Give\Vendors\LiquidWeb\LicensingApiClient\Http\RequestHeaderCollection;
14 use Give\Vendors\LiquidWeb\LicensingApiClient\Resources\Credit\CreditsLedgerResource;
15 use Give\Vendors\LiquidWeb\LicensingApiClient\Resources\Credit\CreditsPoolsResource;
16 use Give\Vendors\LiquidWeb\LicensingApiClient\Resources\Credit\CreditsQuotasResource;
17 use Give\Vendors\LiquidWeb\LicensingApiClient\Resources\Credit\CreditsResource;
18 use Give\Vendors\LiquidWeb\LicensingApiClient\Resources\EntitlementsResource;
19 use Give\Vendors\LiquidWeb\LicensingApiClient\Resources\LicensesResource;
20 use Give\Vendors\LiquidWeb\LicensingApiClient\Resources\ProductsResource;
21 use Give\Vendors\LiquidWeb\LicensingApiClient\Resources\TokensResource;
22 use Give\Vendors\Psr\Http\Client\ClientInterface as HttpClient;
23 use Give\Vendors\Psr\Http\Message\RequestFactoryInterface;
24 use Give\Vendors\Psr\Http\Message\StreamFactoryInterface;
25
26 /**
27 * Builds a fully-wired API client from the transport dependencies.
28 *
29 * Use this if your application is not using a container to build dependencies.
30 */
31 final class ApiBuilder
32 {
33 private HttpClient $httpClient;
34
35 private RequestFactoryInterface $requestFactory;
36
37 private StreamFactoryInterface $streamFactory;
38
39 private Config $config;
40
41 public function __construct(
42 HttpClient $httpClient,
43 RequestFactoryInterface $requestFactory,
44 StreamFactoryInterface $streamFactory,
45 Config $config
46 ) {
47 $this->httpClient = $httpClient;
48 $this->requestFactory = $requestFactory;
49 $this->streamFactory = $streamFactory;
50 $this->config = $config;
51 }
52
53 public function build(): Api {
54 $authState = new AuthState(new AuthContext(), $this->config->configuredToken);
55 $requestHeaderCollection = new RequestHeaderCollection();
56 $apiUriFactory = new ApiUriFactory($this->config, ApiVersion::default());
57 $requestExecutor = $this->buildRequestExecutor();
58 $creditsPools = new CreditsPoolsResource($requestExecutor, $apiUriFactory, $authState, $requestHeaderCollection);
59 $creditsQuotas = new CreditsQuotasResource($requestExecutor, $apiUriFactory, $authState, $requestHeaderCollection);
60 $creditsLedger = new CreditsLedgerResource(
61 $requestExecutor,
62 $apiUriFactory,
63 $authState,
64 $requestHeaderCollection
65 );
66
67 return new Api(
68 $authState,
69 $requestHeaderCollection,
70 new LicensesResource($requestExecutor, $apiUriFactory, $authState, $requestHeaderCollection),
71 new ProductsResource($requestExecutor, $apiUriFactory, $authState, $requestHeaderCollection),
72 new CreditsResource(
73 $requestExecutor,
74 $apiUriFactory,
75 $authState,
76 $requestHeaderCollection,
77 $creditsPools,
78 $creditsQuotas,
79 $creditsLedger
80 ),
81 new EntitlementsResource($requestExecutor, $apiUriFactory, $authState, $requestHeaderCollection),
82 new TokensResource($requestExecutor, $apiUriFactory, $authState, $requestHeaderCollection)
83 );
84 }
85
86 private function buildRequestExecutor(): RequestExecutor {
87 $jsonDecoder = new JsonDecoder();
88
89 return new RequestExecutor(
90 $this->httpClient,
91 new RequestBuilder(
92 $this->requestFactory,
93 $this->streamFactory
94 ),
95 $jsonDecoder,
96 new ResponseExceptionFactory($jsonDecoder)
97 );
98 }
99 }
100