����JFIF��x�x����'
| Server IP : 78.140.185.180 / Your IP : 216.73.216.170 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/./././www/vendor/sentry/sentry/src/Context/ |
Upload File : |
<?php
declare(strict_types=1);
namespace Sentry\Context;
use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException;
use Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException;
use Symfony\Component\OptionsResolver\OptionsResolver;
/**
* This class is a specialized implementation of the {@see Context} class that
* stores information about the operating system of the server.
*
* @author Stefano Arlandini <sarlandini@alice.it>
*
* @final since version 2.3
*
* @template-extends Context<string>
*/
class ServerOsContext extends Context
{
/**
* @var OptionsResolver The options resolver
*/
private $resolver;
/**
* {@inheritdoc}
*
* @throws UndefinedOptionsException If any of the options are not supported
* by the context
* @throws InvalidOptionsException If any of the options don't fulfill the
* specified validation rules
*/
public function __construct(array $data = [])
{
$this->resolver = new OptionsResolver();
$this->configureOptions($this->resolver);
parent::__construct($this->resolver->resolve($data));
}
/**
* {@inheritdoc}
*
* @throws UndefinedOptionsException If any of the options are not supported
* by the context
* @throws InvalidOptionsException If any of the options don't fulfill the
* specified validation rules
*/
public function merge(array $data, bool $recursive = false): void
{
$data = $this->resolver->resolve($data);
parent::merge($data, $recursive);
}
/**
* {@inheritdoc}
*
* @throws UndefinedOptionsException If any of the options are not supported
* by the context
* @throws InvalidOptionsException If any of the options don't fulfill the
* specified validation rules
*/
public function setData(array $data): void
{
$data = $this->resolver->resolve($data);
parent::setData($data);
}
/**
* {@inheritdoc}
*
* @throws UndefinedOptionsException If any of the options are not supported
* by the context
* @throws InvalidOptionsException If any of the options don't fulfill the
* specified validation rules
*/
public function replaceData(array $data): void
{
$data = $this->resolver->resolve($data);
parent::replaceData($data);
}
/**
* {@inheritdoc}
*
* @throws UndefinedOptionsException If any of the options are not supported
* by the context
* @throws InvalidOptionsException If any of the options don't fulfill the
* specified validation rules
*/
public function offsetSet($offset, $value): void
{
$data = $this->resolver->resolve([$offset => $value]);
parent::offsetSet($offset, $data[$offset]);
}
/**
* Gets the name of the operating system.
*/
public function getName(): string
{
return $this->data['name'];
}
/**
* Sets the name of the operating system.
*
* @param string $name The name
*/
public function setName(string $name): void
{
$this->offsetSet('name', $name);
}
/**
* Gets the version of the operating system.
*/
public function getVersion(): string
{
return $this->data['version'];
}
/**
* Sets the version of the operating system.
*
* @param string $version The version
*/
public function setVersion(string $version): void
{
$this->offsetSet('version', $version);
}
/**
* Gets the build of the operating system.
*/
public function getBuild(): string
{
return $this->data['build'];
}
/**
* Sets the build of the operating system.
*
* @param string $build The build
*/
public function setBuild(string $build): void
{
$this->offsetSet('build', $build);
}
/**
* Gets the version of the kernel of the operating system.
*/
public function getKernelVersion(): string
{
return $this->data['kernel_version'];
}
/**
* Sets the version of the kernel of the operating system.
*
* @param string $kernelVersion The kernel version
*/
public function setKernelVersion(string $kernelVersion): void
{
$this->offsetSet('kernel_version', $kernelVersion);
}
/**
* Configures the options of the context.
*
* @param OptionsResolver $resolver The resolver for the options
*/
private function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'name' => php_uname('s'),
'version' => php_uname('r'),
'build' => php_uname('v'),
'kernel_version' => php_uname('a'),
]);
$resolver->setAllowedTypes('name', 'string');
$resolver->setAllowedTypes('version', 'string');
$resolver->setAllowedTypes('build', 'string');
$resolver->setAllowedTypes('kernel_version', 'string');
}
}