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 / Tracing / TraceContext.php
give / vendor / vendor-prefixed / stellarwp / licensing-api-client / src / Tracing Last commit date
TraceContext.php 3 months ago TraceParent.php 3 months ago
TraceContext.php
74 lines
1 <?php declare(strict_types=1);
2
3 namespace Give\Vendors\LiquidWeb\LicensingApiClient\Tracing;
4
5 /**
6 * Immutable trace header pair for outbound request propagation.
7 */
8 final class TraceContext
9 {
10 private TraceParent $traceParent;
11
12 private ?string $traceState;
13
14 private function __construct(TraceParent $traceParent, ?string $traceState) {
15 $this->traceParent = $traceParent;
16 $this->traceState = $traceState;
17 }
18
19 /**
20 * Generate a new trace context with a fresh traceparent and no tracestate.
21 */
22 public static function generate(bool $sampled = true): self {
23 return new self(TraceParent::generate($sampled), null);
24 }
25
26 /**
27 * Create a trace context from a validated traceparent and optional tracestate.
28 */
29 public static function fromValues(TraceParent $traceParent, ?string $traceState = null): self {
30 return new self($traceParent, self::normalizeTraceState($traceState));
31 }
32
33 /**
34 * Return the traceparent value object.
35 */
36 public function traceParent(): TraceParent {
37 return $this->traceParent;
38 }
39
40 /**
41 * Return the normalized tracestate header when present.
42 */
43 public function traceState(): ?string {
44 return $this->traceState;
45 }
46
47 /**
48 * Return the headers that should be applied to an outbound request.
49 *
50 * @return array<string, string>
51 */
52 public function headers(): array {
53 $headers = [
54 'traceparent' => $this->traceParent->header(),
55 ];
56
57 if ($this->traceState !== null) {
58 $headers['tracestate'] = $this->traceState;
59 }
60
61 return $headers;
62 }
63
64 private static function normalizeTraceState(?string $traceState): ?string {
65 if ($traceState === null) {
66 return null;
67 }
68
69 $traceState = trim($traceState);
70
71 return $traceState === '' ? null : $traceState;
72 }
73 }
74