summaryrefslogtreecommitdiff
path: root/vendor/open-telemetry/exporter-otlp/Protocols.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2023-10-20 17:12:29 +0300
committerAndrew Dolgov <[email protected]>2023-10-20 21:13:39 +0300
commitcdd7ad020e165fe680703b6d3319b908b682fb7a (patch)
treeb51eb09b7b4587e8fbc5624ac8d88d28cfcd0b04 /vendor/open-telemetry/exporter-otlp/Protocols.php
parent45a9ff0c88cbd33892ff16ab837e9059937d656e (diff)
jaeger-client -> opentelemetry
Diffstat (limited to 'vendor/open-telemetry/exporter-otlp/Protocols.php')
-rw-r--r--vendor/open-telemetry/exporter-otlp/Protocols.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/open-telemetry/exporter-otlp/Protocols.php b/vendor/open-telemetry/exporter-otlp/Protocols.php
new file mode 100644
index 000000000..96b04d8bf
--- /dev/null
+++ b/vendor/open-telemetry/exporter-otlp/Protocols.php
@@ -0,0 +1,36 @@
+<?php
+
+declare(strict_types=1);
+
+namespace OpenTelemetry\Contrib\Otlp;
+
+use OpenTelemetry\SDK\Common\Configuration\KnownValues;
+use UnexpectedValueException;
+
+class Protocols
+{
+ public const GRPC = KnownValues::VALUE_GRPC;
+ public const HTTP_PROTOBUF = KnownValues::VALUE_HTTP_PROTOBUF;
+ public const HTTP_JSON = KnownValues::VALUE_HTTP_JSON;
+ public const HTTP_NDJSON = KnownValues::VALUE_HTTP_NDJSON;
+ private const PROTOCOLS = [
+ self::GRPC => ContentTypes::PROTOBUF,
+ self::HTTP_PROTOBUF => ContentTypes::PROTOBUF,
+ self::HTTP_JSON => ContentTypes::JSON,
+ self::HTTP_NDJSON => ContentTypes::NDJSON,
+ ];
+
+ public static function validate(string $protocol): void
+ {
+ if (!array_key_exists($protocol, self::PROTOCOLS)) {
+ throw new UnexpectedValueException('Unknown protocol: ' . $protocol);
+ }
+ }
+
+ public static function contentType(string $protocol): string
+ {
+ self::validate($protocol);
+
+ return self::PROTOCOLS[$protocol];
+ }
+}