vendor/sksso/token-use-logger/src/SKSSOHTTPTokenUseLoggerBundle.php line 13
<?php
namespace SKSSO\HTTP\Bundle\TokenUseLoggerBundle;
use Exception;
use Symfony\Component\Config\Definition\Configurator\DefinitionConfigurator;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
use Symfony\Component\HttpKernel\Bundle\AbstractBundle;
class SKSSOHTTPTokenUseLoggerBundle extends AbstractBundle
{
protected string $extensionAlias = 'TokenUseLogger';
private const DSN_KEY = 'dsn';
public function configure(DefinitionConfigurator $definition): void
{
$definition->rootNode()
->children()
->scalarNode($this::DSN_KEY)->isRequired()->info('A TokenUseLogger által használandó lock store dsn-je')
->end();
}
public function loadExtension(array $config, ContainerConfigurator $container, ContainerBuilder $builder): void
{
$loader = new YamlFileLoader(
$builder,
new FileLocator(__DIR__ . '/Resources/config')
);
$loader->load('services.yaml');
}
public function prependExtension(ContainerConfigurator $container, ContainerBuilder $builder): void
{
$config = $builder->getExtensionConfig($this->getContainerExtension()->getAlias());
$dsn = $config[0][$this::DSN_KEY];
if(!is_string($dsn)) throw new Exception("The dsn wasn't the expected type");
$container->extension(
'framework',
[
'lock' =>[
'tokenUseLogger' => $dsn
]
]
);
}
}