whoami7 - Manager
:
/
home
/
kckglobal
/
www
/
portal
/
vendor
/
sentry
/
sentry
/
src
/
Upload File:
files >> //home/kckglobal/www/portal/vendor/sentry/sentry/src/ClientBuilder.php
<?php declare(strict_types=1); namespace Sentry; use Psr\Log\LoggerInterface; use Sentry\HttpClient\HttpClient; use Sentry\HttpClient\HttpClientInterface; use Sentry\Serializer\PayloadSerializer; use Sentry\Serializer\RepresentationSerializerInterface; use Sentry\Transport\HttpTransport; use Sentry\Transport\TransportInterface; /** * A configurable builder for Client objects. */ final class ClientBuilder { /** * @var Options The client options */ private $options; /** * @var TransportInterface|null The transport */ private $transport; /** * @var HttpClientInterface|null The HTTP client */ private $httpClient; /** * @var RepresentationSerializerInterface|null The representation serializer to be injected in the client */ private $representationSerializer; /** * @var LoggerInterface|null A PSR-3 logger to log internal errors and debug messages */ private $logger; /** * @var string The SDK identifier, to be used in {@see Event} and {@see SentryAuth} */ private $sdkIdentifier = Client::SDK_IDENTIFIER; /** * @var string The SDK version of the Client */ private $sdkVersion = Client::SDK_VERSION; /** * Class constructor. * * @param Options|null $options The client options */ public function __construct(?Options $options = null) { $this->options = $options ?? new Options(); } /** * @param array<string, mixed> $options The client options, in naked array form */ public static function create(array $options = []): self { return new self(new Options($options)); } public function getOptions(): Options { return $this->options; } public function setRepresentationSerializer(RepresentationSerializerInterface $representationSerializer): self { $this->representationSerializer = $representationSerializer; return $this; } public function getLogger(): ?LoggerInterface { return $this->logger ?? $this->options->getLogger(); } public function setLogger(LoggerInterface $logger): self { $this->logger = $logger; return $this; } public function setSdkIdentifier(string $sdkIdentifier): self { $this->sdkIdentifier = $sdkIdentifier; return $this; } public function setSdkVersion(string $sdkVersion): self { $this->sdkVersion = $sdkVersion; return $this; } public function getTransport(): TransportInterface { return $this->transport ?? $this->options->getTransport() ?? new HttpTransport( $this->options, $this->getHttpClient(), new PayloadSerializer($this->options), $this->getLogger() ); } public function setTransport(TransportInterface $transport): self { $this->transport = $transport; return $this; } public function getHttpClient(): HttpClientInterface { return $this->httpClient ?? $this->options->getHttpClient() ?? new HttpClient($this->sdkIdentifier, $this->sdkVersion); } public function setHttpClient(HttpClientInterface $httpClient): self { $this->httpClient = $httpClient; return $this; } public function getClient(): ClientInterface { return new Client( $this->options, $this->getTransport(), $this->sdkIdentifier, $this->sdkVersion, $this->representationSerializer, $this->getLogger() ); } }
Copyright ©2021 || Defacer Indonesia