mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-26 03:58:45 +02:00
N°6934 - Symfony 6.4 - upgrade Symfony bundles to 6.4 (#580)
* Update Symfony lib to version ~6.4.0 * Update code missing return type * Add an iTop general configuration entry to store application secret (Symfony mandatory parameter) * Use dependency injection in ExceptionListener & UserProvider classes
This commit is contained in:
@@ -12,10 +12,8 @@
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Doctrine\Common\Annotations\AnnotationReader;
|
||||
use Doctrine\Common\Annotations\AnnotationRegistry;
|
||||
use Doctrine\Common\Annotations\PsrCachedReader;
|
||||
use Doctrine\Common\Annotations\Reader;
|
||||
use Doctrine\Common\Cache\Psr6\DoctrineProvider;
|
||||
use Symfony\Bundle\FrameworkBundle\CacheWarmer\AnnotationsCacheWarmer;
|
||||
use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
||||
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
||||
@@ -24,13 +22,8 @@ use Symfony\Component\Cache\Adapter\PhpArrayAdapter;
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('annotations.reader', AnnotationReader::class)
|
||||
->call('addGlobalIgnoredName', [
|
||||
'required',
|
||||
service('annotations.dummy_registry')->nullOnInvalid(), // dummy arg to register class_exists as annotation loader only when required
|
||||
])
|
||||
|
||||
->set('annotations.dummy_registry', AnnotationRegistry::class)
|
||||
->call('registerUniqueLoader', ['class_exists'])
|
||||
->call('addGlobalIgnoredName', ['required']) // @deprecated since Symfony 6.3
|
||||
->deprecate('symfony/framework-bundle', '6.4', 'The "%service_id%" service is deprecated without replacement.')
|
||||
|
||||
->set('annotations.cached_reader', PsrCachedReader::class)
|
||||
->args([
|
||||
@@ -40,6 +33,7 @@ return static function (ContainerConfigurator $container) {
|
||||
])
|
||||
->tag('annotations.cached_reader')
|
||||
->tag('container.do_not_inline')
|
||||
->deprecate('symfony/framework-bundle', '6.4', 'The "%service_id%" service is deprecated without replacement.')
|
||||
|
||||
->set('annotations.filesystem_cache_adapter', FilesystemAdapter::class)
|
||||
->args([
|
||||
@@ -47,13 +41,7 @@ return static function (ContainerConfigurator $container) {
|
||||
0,
|
||||
abstract_arg('Cache-Directory'),
|
||||
])
|
||||
|
||||
->set('annotations.filesystem_cache', DoctrineProvider::class)
|
||||
->factory([DoctrineProvider::class, 'wrap'])
|
||||
->args([
|
||||
service('annotations.filesystem_cache_adapter'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.4', '"%service_id% is deprecated"')
|
||||
->deprecate('symfony/framework-bundle', '6.4', 'The "%service_id%" service is deprecated without replacement.')
|
||||
|
||||
->set('annotations.cache_warmer', AnnotationsCacheWarmer::class)
|
||||
->args([
|
||||
@@ -61,7 +49,9 @@ return static function (ContainerConfigurator $container) {
|
||||
param('kernel.cache_dir').'/annotations.php',
|
||||
'#^Symfony\\\\(?:Component\\\\HttpKernel\\\\|Bundle\\\\FrameworkBundle\\\\Controller\\\\(?!.*Controller$))#',
|
||||
param('kernel.debug'),
|
||||
false,
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '6.4', 'The "%service_id%" service is deprecated without replacement.')
|
||||
|
||||
->set('annotations.cache_adapter', PhpArrayAdapter::class)
|
||||
->factory([PhpArrayAdapter::class, 'create'])
|
||||
@@ -70,14 +60,12 @@ return static function (ContainerConfigurator $container) {
|
||||
service('cache.annotations'),
|
||||
])
|
||||
->tag('container.hot_path')
|
||||
|
||||
->set('annotations.cache', DoctrineProvider::class)
|
||||
->factory([DoctrineProvider::class, 'wrap'])
|
||||
->args([
|
||||
service('annotations.cache_adapter'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.4', '"%service_id% is deprecated"')
|
||||
->deprecate('symfony/framework-bundle', '6.4', 'The "%service_id%" service is deprecated without replacement.')
|
||||
|
||||
->alias('annotation_reader', 'annotations.reader')
|
||||
->alias(Reader::class, 'annotation_reader');
|
||||
->deprecate('symfony/framework-bundle', '6.4', 'The "%alias_id%" service alias is deprecated without replacement.')
|
||||
|
||||
->alias(Reader::class, 'annotation_reader')
|
||||
->deprecate('symfony/framework-bundle', '6.4', 'The "%alias_id%" service alias is deprecated without replacement.')
|
||||
;
|
||||
};
|
||||
|
||||
255
lib/symfony/framework-bundle/Resources/config/asset_mapper.php
Normal file
255
lib/symfony/framework-bundle/Resources/config/asset_mapper.php
Normal file
@@ -0,0 +1,255 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\AssetMapper\AssetMapper;
|
||||
use Symfony\Component\AssetMapper\AssetMapperCompiler;
|
||||
use Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber;
|
||||
use Symfony\Component\AssetMapper\AssetMapperInterface;
|
||||
use Symfony\Component\AssetMapper\AssetMapperRepository;
|
||||
use Symfony\Component\AssetMapper\Command\AssetMapperCompileCommand;
|
||||
use Symfony\Component\AssetMapper\Command\DebugAssetMapperCommand;
|
||||
use Symfony\Component\AssetMapper\Command\ImportMapAuditCommand;
|
||||
use Symfony\Component\AssetMapper\Command\ImportMapInstallCommand;
|
||||
use Symfony\Component\AssetMapper\Command\ImportMapOutdatedCommand;
|
||||
use Symfony\Component\AssetMapper\Command\ImportMapRemoveCommand;
|
||||
use Symfony\Component\AssetMapper\Command\ImportMapRequireCommand;
|
||||
use Symfony\Component\AssetMapper\Command\ImportMapUpdateCommand;
|
||||
use Symfony\Component\AssetMapper\CompiledAssetMapperConfigReader;
|
||||
use Symfony\Component\AssetMapper\Compiler\CssAssetUrlCompiler;
|
||||
use Symfony\Component\AssetMapper\Compiler\JavaScriptImportPathCompiler;
|
||||
use Symfony\Component\AssetMapper\Compiler\SourceMappingUrlsCompiler;
|
||||
use Symfony\Component\AssetMapper\Factory\CachedMappedAssetFactory;
|
||||
use Symfony\Component\AssetMapper\Factory\MappedAssetFactory;
|
||||
use Symfony\Component\AssetMapper\ImportMap\ImportMapAuditor;
|
||||
use Symfony\Component\AssetMapper\ImportMap\ImportMapConfigReader;
|
||||
use Symfony\Component\AssetMapper\ImportMap\ImportMapGenerator;
|
||||
use Symfony\Component\AssetMapper\ImportMap\ImportMapManager;
|
||||
use Symfony\Component\AssetMapper\ImportMap\ImportMapRenderer;
|
||||
use Symfony\Component\AssetMapper\ImportMap\ImportMapUpdateChecker;
|
||||
use Symfony\Component\AssetMapper\ImportMap\ImportMapVersionChecker;
|
||||
use Symfony\Component\AssetMapper\ImportMap\RemotePackageDownloader;
|
||||
use Symfony\Component\AssetMapper\ImportMap\RemotePackageStorage;
|
||||
use Symfony\Component\AssetMapper\ImportMap\Resolver\JsDelivrEsmResolver;
|
||||
use Symfony\Component\AssetMapper\MapperAwareAssetPackage;
|
||||
use Symfony\Component\AssetMapper\Path\LocalPublicAssetsFilesystem;
|
||||
use Symfony\Component\AssetMapper\Path\PublicAssetsPathResolver;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('asset_mapper', AssetMapper::class)
|
||||
->args([
|
||||
service('asset_mapper.repository'),
|
||||
service('asset_mapper.mapped_asset_factory'),
|
||||
service('asset_mapper.compiled_asset_mapper_config_reader'),
|
||||
])
|
||||
->alias(AssetMapperInterface::class, 'asset_mapper')
|
||||
|
||||
->set('asset_mapper.mapped_asset_factory', MappedAssetFactory::class)
|
||||
->args([
|
||||
service('asset_mapper.public_assets_path_resolver'),
|
||||
service('asset_mapper_compiler'),
|
||||
abstract_arg('vendor directory'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.cached_mapped_asset_factory', CachedMappedAssetFactory::class)
|
||||
->args([
|
||||
service('.inner'),
|
||||
param('kernel.cache_dir').'/asset_mapper',
|
||||
param('kernel.debug'),
|
||||
])
|
||||
->decorate('asset_mapper.mapped_asset_factory')
|
||||
|
||||
->set('asset_mapper.repository', AssetMapperRepository::class)
|
||||
->args([
|
||||
abstract_arg('array of asset mapper paths'),
|
||||
param('kernel.project_dir'),
|
||||
abstract_arg('array of excluded path patterns'),
|
||||
abstract_arg('exclude dot files'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.public_assets_path_resolver', PublicAssetsPathResolver::class)
|
||||
->args([
|
||||
abstract_arg('asset public prefix'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.local_public_assets_filesystem', LocalPublicAssetsFilesystem::class)
|
||||
->args([
|
||||
abstract_arg('public directory'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.compiled_asset_mapper_config_reader', CompiledAssetMapperConfigReader::class)
|
||||
->args([
|
||||
abstract_arg('public assets directory'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.asset_package', MapperAwareAssetPackage::class)
|
||||
->decorate('assets._default_package')
|
||||
->args([
|
||||
service('.inner'),
|
||||
service('asset_mapper'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.dev_server_subscriber', AssetMapperDevServerSubscriber::class)
|
||||
->args([
|
||||
service('asset_mapper'),
|
||||
abstract_arg('asset public prefix'),
|
||||
abstract_arg('extensions map'),
|
||||
service('cache.asset_mapper'),
|
||||
service('profiler')->nullOnInvalid(),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('asset_mapper.command.compile', AssetMapperCompileCommand::class)
|
||||
->args([
|
||||
service('asset_mapper.compiled_asset_mapper_config_reader'),
|
||||
service('asset_mapper'),
|
||||
service('asset_mapper.importmap.generator'),
|
||||
service('asset_mapper.local_public_assets_filesystem'),
|
||||
param('kernel.project_dir'),
|
||||
param('kernel.debug'),
|
||||
service('event_dispatcher')->nullOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('asset_mapper.command.debug', DebugAssetMapperCommand::class)
|
||||
->args([
|
||||
service('asset_mapper'),
|
||||
service('asset_mapper.repository'),
|
||||
param('kernel.project_dir'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('asset_mapper_compiler', AssetMapperCompiler::class)
|
||||
->args([
|
||||
tagged_iterator('asset_mapper.compiler'),
|
||||
service_closure('asset_mapper'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.compiler.css_asset_url_compiler', CssAssetUrlCompiler::class)
|
||||
->args([
|
||||
abstract_arg('missing import mode'),
|
||||
service('logger'),
|
||||
])
|
||||
->tag('asset_mapper.compiler')
|
||||
->tag('monolog.logger', ['channel' => 'asset_mapper'])
|
||||
|
||||
->set('asset_mapper.compiler.source_mapping_urls_compiler', SourceMappingUrlsCompiler::class)
|
||||
->tag('asset_mapper.compiler')
|
||||
|
||||
->set('asset_mapper.compiler.javascript_import_path_compiler', JavaScriptImportPathCompiler::class)
|
||||
->args([
|
||||
service('asset_mapper.importmap.config_reader'),
|
||||
abstract_arg('missing import mode'),
|
||||
service('logger'),
|
||||
])
|
||||
->tag('asset_mapper.compiler')
|
||||
->tag('monolog.logger', ['channel' => 'asset_mapper'])
|
||||
|
||||
->set('asset_mapper.importmap.config_reader', ImportMapConfigReader::class)
|
||||
->args([
|
||||
abstract_arg('importmap.php path'),
|
||||
service('asset_mapper.importmap.remote_package_storage'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.importmap.manager', ImportMapManager::class)
|
||||
->args([
|
||||
service('asset_mapper'),
|
||||
service('asset_mapper.importmap.config_reader'),
|
||||
service('asset_mapper.importmap.remote_package_downloader'),
|
||||
service('asset_mapper.importmap.resolver'),
|
||||
])
|
||||
->alias(ImportMapManager::class, 'asset_mapper.importmap.manager')
|
||||
|
||||
->set('asset_mapper.importmap.generator', ImportMapGenerator::class)
|
||||
->args([
|
||||
service('asset_mapper'),
|
||||
service('asset_mapper.compiled_asset_mapper_config_reader'),
|
||||
service('asset_mapper.importmap.config_reader'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.importmap.remote_package_storage', RemotePackageStorage::class)
|
||||
->args([
|
||||
abstract_arg('vendor directory'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.importmap.remote_package_downloader', RemotePackageDownloader::class)
|
||||
->args([
|
||||
service('asset_mapper.importmap.remote_package_storage'),
|
||||
service('asset_mapper.importmap.config_reader'),
|
||||
service('asset_mapper.importmap.resolver'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.importmap.version_checker', ImportMapVersionChecker::class)
|
||||
->args([
|
||||
service('asset_mapper.importmap.config_reader'),
|
||||
service('asset_mapper.importmap.remote_package_downloader'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.importmap.resolver', JsDelivrEsmResolver::class)
|
||||
->args([service('http_client')])
|
||||
|
||||
->set('asset_mapper.importmap.renderer', ImportMapRenderer::class)
|
||||
->args([
|
||||
service('asset_mapper.importmap.generator'),
|
||||
service('assets.packages')->nullOnInvalid(),
|
||||
param('kernel.charset'),
|
||||
abstract_arg('polyfill URL'),
|
||||
abstract_arg('script HTML attributes'),
|
||||
service('request_stack'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.importmap.auditor', ImportMapAuditor::class)
|
||||
->args([
|
||||
service('asset_mapper.importmap.config_reader'),
|
||||
service('http_client'),
|
||||
])
|
||||
->set('asset_mapper.importmap.update_checker', ImportMapUpdateChecker::class)
|
||||
->args([
|
||||
service('asset_mapper.importmap.config_reader'),
|
||||
service('http_client'),
|
||||
])
|
||||
|
||||
->set('asset_mapper.importmap.command.require', ImportMapRequireCommand::class)
|
||||
->args([
|
||||
service('asset_mapper.importmap.manager'),
|
||||
service('asset_mapper.importmap.version_checker'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('asset_mapper.importmap.command.remove', ImportMapRemoveCommand::class)
|
||||
->args([service('asset_mapper.importmap.manager')])
|
||||
->tag('console.command')
|
||||
|
||||
->set('asset_mapper.importmap.command.update', ImportMapUpdateCommand::class)
|
||||
->args([
|
||||
service('asset_mapper.importmap.manager'),
|
||||
service('asset_mapper.importmap.version_checker'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('asset_mapper.importmap.command.install', ImportMapInstallCommand::class)
|
||||
->args([
|
||||
service('asset_mapper.importmap.remote_package_downloader'),
|
||||
param('kernel.project_dir'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('asset_mapper.importmap.command.audit', ImportMapAuditCommand::class)
|
||||
->args([service('asset_mapper.importmap.auditor')])
|
||||
->tag('console.command')
|
||||
|
||||
->set('asset_mapper.importmap.command.outdated', ImportMapOutdatedCommand::class)
|
||||
->args([service('asset_mapper.importmap.update_checker')])
|
||||
->tag('console.command')
|
||||
;
|
||||
};
|
||||
@@ -18,7 +18,6 @@ use Symfony\Component\Asset\PathPackage;
|
||||
use Symfony\Component\Asset\UrlPackage;
|
||||
use Symfony\Component\Asset\VersionStrategy\EmptyVersionStrategy;
|
||||
use Symfony\Component\Asset\VersionStrategy\JsonManifestVersionStrategy;
|
||||
use Symfony\Component\Asset\VersionStrategy\RemoteJsonManifestVersionStrategy;
|
||||
use Symfony\Component\Asset\VersionStrategy\StaticVersionStrategy;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
@@ -82,13 +81,5 @@ return static function (ContainerConfigurator $container) {
|
||||
service('http_client')->nullOnInvalid(),
|
||||
false,
|
||||
])
|
||||
|
||||
->set('assets.remote_json_manifest_version_strategy', RemoteJsonManifestVersionStrategy::class)
|
||||
->abstract()
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, use "assets.json_manifest_version_strategy" instead.')
|
||||
->args([
|
||||
abstract_arg('manifest url'),
|
||||
service('http_client'),
|
||||
])
|
||||
;
|
||||
};
|
||||
|
||||
@@ -16,7 +16,6 @@ use Symfony\Component\Cache\Adapter\AbstractAdapter;
|
||||
use Symfony\Component\Cache\Adapter\AdapterInterface;
|
||||
use Symfony\Component\Cache\Adapter\ApcuAdapter;
|
||||
use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
||||
use Symfony\Component\Cache\Adapter\DoctrineAdapter;
|
||||
use Symfony\Component\Cache\Adapter\DoctrineDbalAdapter;
|
||||
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
||||
use Symfony\Component\Cache\Adapter\MemcachedAdapter;
|
||||
@@ -40,6 +39,7 @@ return static function (ContainerConfigurator $container) {
|
||||
|
||||
->set('cache.app.taggable', TagAwareAdapter::class)
|
||||
->args([service('cache.app')])
|
||||
->tag('cache.taggable', ['pool' => 'cache.app'])
|
||||
|
||||
->set('cache.system')
|
||||
->parent('cache.adapter.system')
|
||||
@@ -66,11 +66,21 @@ return static function (ContainerConfigurator $container) {
|
||||
->private()
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('cache.asset_mapper')
|
||||
->parent('cache.system')
|
||||
->private()
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('cache.messenger.restart_workers_signal')
|
||||
->parent('cache.app')
|
||||
->private()
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('cache.scheduler')
|
||||
->parent('cache.app')
|
||||
->private()
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('cache.adapter.system', AdapterInterface::class)
|
||||
->abstract()
|
||||
->factory([AbstractAdapter::class, 'createSystemCache'])
|
||||
@@ -95,22 +105,6 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('cache.pool', ['clearer' => 'cache.default_clearer', 'reset' => 'reset'])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
|
||||
->set('cache.adapter.doctrine', DoctrineAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
abstract_arg('Doctrine provider service'),
|
||||
'', // namespace
|
||||
0, // default lifetime
|
||||
])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('cache.pool', [
|
||||
'provider' => 'cache.default_doctrine_provider',
|
||||
'clearer' => 'cache.default_clearer',
|
||||
'reset' => 'reset',
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'cache'])
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%service_id%" service inherits from "cache.adapter.doctrine" which is deprecated.')
|
||||
|
||||
->set('cache.adapter.filesystem', FilesystemAdapter::class)
|
||||
->abstract()
|
||||
->args([
|
||||
@@ -257,9 +251,6 @@ return static function (ContainerConfigurator $container) {
|
||||
|
||||
->alias(CacheItemPoolInterface::class, 'cache.app')
|
||||
|
||||
->alias(AdapterInterface::class, 'cache.app')
|
||||
->deprecate('symfony/framework-bundle', '5.4', sprintf('The "%%alias_id%%" alias is deprecated, use "%s" instead.', CacheItemPoolInterface::class))
|
||||
|
||||
->alias(CacheInterface::class, 'cache.app')
|
||||
|
||||
->alias(TagAwareCacheInterface::class, 'cache.app.taggable')
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector;
|
||||
use Symfony\Component\Console\DataCollector\CommandDataCollector;
|
||||
use Symfony\Component\HttpKernel\DataCollector\AjaxDataCollector;
|
||||
use Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector;
|
||||
use Symfony\Component\HttpKernel\DataCollector\EventDataCollector;
|
||||
@@ -30,7 +31,7 @@ return static function (ContainerConfigurator $container) {
|
||||
|
||||
->set('data_collector.request', RequestDataCollector::class)
|
||||
->args([
|
||||
service('request_stack')->ignoreOnInvalid(),
|
||||
service('.virtual_request_stack')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/request.html.twig', 'id' => 'request', 'priority' => 335])
|
||||
@@ -47,8 +48,8 @@ return static function (ContainerConfigurator $container) {
|
||||
|
||||
->set('data_collector.events', EventDataCollector::class)
|
||||
->args([
|
||||
service('debug.event_dispatcher')->ignoreOnInvalid(),
|
||||
service('request_stack')->ignoreOnInvalid(),
|
||||
tagged_iterator('event_dispatcher.dispatcher', 'name'),
|
||||
service('.virtual_request_stack')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/events.html.twig', 'id' => 'events', 'priority' => 290])
|
||||
|
||||
@@ -56,7 +57,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->args([
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
sprintf('%s/%s', param('kernel.build_dir'), param('kernel.container_class')),
|
||||
service('request_stack')->ignoreOnInvalid(),
|
||||
service('.virtual_request_stack')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'profiler'])
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/logger.html.twig', 'id' => 'logger', 'priority' => 300])
|
||||
@@ -74,5 +75,8 @@ return static function (ContainerConfigurator $container) {
|
||||
->set('data_collector.router', RouterDataCollector::class)
|
||||
->tag('kernel.event_listener', ['event' => KernelEvents::CONTROLLER, 'method' => 'onKernelController'])
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/router.html.twig', 'id' => 'router', 'priority' => 285])
|
||||
|
||||
->set('.data_collector.command', CommandDataCollector::class)
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/command.html.twig', 'id' => 'command', 'priority' => 335])
|
||||
;
|
||||
};
|
||||
|
||||
@@ -16,6 +16,7 @@ use Symfony\Bundle\FrameworkBundle\Command\AssetsInstallCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CacheClearCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CachePoolClearCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CachePoolDeleteCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CachePoolInvalidateTagsCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CachePoolListCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CachePoolPruneCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\CacheWarmupCommand;
|
||||
@@ -37,16 +38,21 @@ use Symfony\Bundle\FrameworkBundle\Command\TranslationDebugCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\TranslationUpdateCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\WorkflowDumpCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Command\YamlLintCommand;
|
||||
use Symfony\Bundle\FrameworkBundle\Console\Application;
|
||||
use Symfony\Bundle\FrameworkBundle\EventListener\SuggestMissingPackageSubscriber;
|
||||
use Symfony\Component\Console\EventListener\ErrorListener;
|
||||
use Symfony\Component\Console\Messenger\RunCommandMessageHandler;
|
||||
use Symfony\Component\Dotenv\Command\DebugCommand as DotenvDebugCommand;
|
||||
use Symfony\Component\Messenger\Command\ConsumeMessagesCommand;
|
||||
use Symfony\Component\Messenger\Command\DebugCommand;
|
||||
use Symfony\Component\Messenger\Command\DebugCommand as MessengerDebugCommand;
|
||||
use Symfony\Component\Messenger\Command\FailedMessagesRemoveCommand;
|
||||
use Symfony\Component\Messenger\Command\FailedMessagesRetryCommand;
|
||||
use Symfony\Component\Messenger\Command\FailedMessagesShowCommand;
|
||||
use Symfony\Component\Messenger\Command\SetupTransportsCommand;
|
||||
use Symfony\Component\Messenger\Command\StatsCommand;
|
||||
use Symfony\Component\Messenger\Command\StopWorkersCommand;
|
||||
use Symfony\Component\Scheduler\Command\DebugCommand as SchedulerDebugCommand;
|
||||
use Symfony\Component\Serializer\Command\DebugCommand as SerializerDebugCommand;
|
||||
use Symfony\Component\Translation\Command\TranslationPullCommand;
|
||||
use Symfony\Component\Translation\Command\TranslationPushCommand;
|
||||
use Symfony\Component\Translation\Command\XliffLintCommand;
|
||||
@@ -93,6 +99,12 @@ return static function (ContainerConfigurator $container) {
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.cache_pool_invalidate_tags', CachePoolInvalidateTagsCommand::class)
|
||||
->args([
|
||||
tagged_locator('cache.taggable', 'pool'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.cache_pool_delete', CachePoolDeleteCommand::class)
|
||||
->args([
|
||||
service('cache.global_clearer'),
|
||||
@@ -152,6 +164,8 @@ return static function (ContainerConfigurator $container) {
|
||||
[], // Receiver names
|
||||
service('messenger.listener.reset_services')->nullOnInvalid(),
|
||||
[], // Bus names
|
||||
service('messenger.rate_limiter_locator')->nullOnInvalid(),
|
||||
null,
|
||||
])
|
||||
->tag('console.command')
|
||||
->tag('monolog.logger', ['channel' => 'messenger'])
|
||||
@@ -163,7 +177,7 @@ return static function (ContainerConfigurator $container) {
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.messenger_debug', DebugCommand::class)
|
||||
->set('console.command.messenger_debug', MessengerDebugCommand::class)
|
||||
->args([
|
||||
[], // Message to handlers mapping
|
||||
])
|
||||
@@ -181,14 +195,18 @@ return static function (ContainerConfigurator $container) {
|
||||
abstract_arg('Receivers'),
|
||||
service('messenger.routable_message_bus'),
|
||||
service('event_dispatcher'),
|
||||
service('logger'),
|
||||
service('logger')->nullOnInvalid(),
|
||||
service('messenger.transport.native_php_serializer')->nullOnInvalid(),
|
||||
null,
|
||||
])
|
||||
->tag('console.command')
|
||||
->tag('monolog.logger', ['channel' => 'messenger'])
|
||||
|
||||
->set('console.command.messenger_failed_messages_show', FailedMessagesShowCommand::class)
|
||||
->args([
|
||||
abstract_arg('Default failure receiver name'),
|
||||
abstract_arg('Receivers'),
|
||||
service('messenger.transport.native_php_serializer')->nullOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
@@ -196,6 +214,20 @@ return static function (ContainerConfigurator $container) {
|
||||
->args([
|
||||
abstract_arg('Default failure receiver name'),
|
||||
abstract_arg('Receivers'),
|
||||
service('messenger.transport.native_php_serializer')->nullOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.messenger_stats', StatsCommand::class)
|
||||
->args([
|
||||
service('messenger.receiver_locator'),
|
||||
abstract_arg('Receivers names'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.scheduler_debug', SchedulerDebugCommand::class)
|
||||
->args([
|
||||
tagged_locator('scheduler.schedule_provider', 'name'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
@@ -213,6 +245,12 @@ return static function (ContainerConfigurator $container) {
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.serializer_debug', SerializerDebugCommand::class)
|
||||
->args([
|
||||
service('serializer.mapping.class_metadata_factory'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.translation_debug', TranslationDebugCommand::class)
|
||||
->args([
|
||||
service('translator'),
|
||||
@@ -267,6 +305,9 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('console.command', ['command' => 'translation:push'])
|
||||
|
||||
->set('console.command.workflow_dump', WorkflowDumpCommand::class)
|
||||
->args([
|
||||
tagged_locator('workflow', 'name'),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.command.xliff_lint', XliffLintCommand::class)
|
||||
@@ -327,5 +368,18 @@ return static function (ContainerConfigurator $container) {
|
||||
service('secrets.local_vault')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('console.command')
|
||||
|
||||
->set('console.messenger.application', Application::class)
|
||||
->share(false)
|
||||
->call('setAutoExit', [false])
|
||||
->args([
|
||||
service('kernel'),
|
||||
])
|
||||
|
||||
->set('console.messenger.execute_command_handler', RunCommandMessageHandler::class)
|
||||
->args([
|
||||
service('console.messenger.application'),
|
||||
])
|
||||
->tag('messenger.message_handler')
|
||||
;
|
||||
};
|
||||
|
||||
@@ -24,7 +24,7 @@ return static function (ContainerConfigurator $container) {
|
||||
service('debug.event_dispatcher.inner'),
|
||||
service('debug.stopwatch'),
|
||||
service('logger')->nullOnInvalid(),
|
||||
service('request_stack')->nullOnInvalid(),
|
||||
service('.virtual_request_stack')->nullOnInvalid(),
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'event'])
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
|
||||
@@ -11,26 +11,30 @@
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HttpKernel\Debug\FileLinkFormatter;
|
||||
use Symfony\Component\ErrorHandler\ErrorRenderer\FileLinkFormatter;
|
||||
use Symfony\Component\HttpKernel\Debug\ErrorHandlerConfigurator;
|
||||
use Symfony\Component\HttpKernel\EventListener\DebugHandlersListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()->set('debug.error_handler.throw_at', -1);
|
||||
|
||||
$container->services()
|
||||
->set('debug.debug_handlers_listener', DebugHandlersListener::class)
|
||||
->set('debug.error_handler_configurator', ErrorHandlerConfigurator::class)
|
||||
->public()
|
||||
->args([
|
||||
null, // Exception handler
|
||||
service('monolog.logger.php')->nullOnInvalid(),
|
||||
service('logger')->nullOnInvalid(),
|
||||
null, // Log levels map for enabled error levels
|
||||
param('debug.error_handler.throw_at'),
|
||||
param('kernel.debug'),
|
||||
param('kernel.debug'),
|
||||
service('monolog.logger.deprecation')->nullOnInvalid(),
|
||||
null, // Deprecation logger if different from the one above
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'php'])
|
||||
|
||||
->set('debug.debug_handlers_listener', DebugHandlersListener::class)
|
||||
->args([null, param('kernel.runtime_mode.web')])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('debug.file_link_formatter', FileLinkFormatter::class)
|
||||
->args([param('debug.file_link_format')])
|
||||
|
||||
|
||||
@@ -19,8 +19,10 @@ use Symfony\Component\Form\Extension\Core\Type\ColorType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\FileType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TransformationFailureExtension;
|
||||
use Symfony\Component\Form\Extension\DependencyInjection\DependencyInjectionExtension;
|
||||
use Symfony\Component\Form\Extension\HtmlSanitizer\Type\TextTypeHtmlSanitizerExtension;
|
||||
use Symfony\Component\Form\Extension\HttpFoundation\HttpFoundationRequestHandler;
|
||||
use Symfony\Component\Form\Extension\HttpFoundation\Type\FormTypeHttpFoundationExtension;
|
||||
use Symfony\Component\Form\Extension\Validator\Type\FormTypeValidatorExtension;
|
||||
@@ -59,9 +61,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->alias(FormRegistryInterface::class, 'form.registry')
|
||||
|
||||
->set('form.factory', FormFactory::class)
|
||||
->public()
|
||||
->args([service('form.registry')])
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
|
||||
->alias(FormFactoryInterface::class, 'form.factory')
|
||||
|
||||
@@ -104,10 +104,8 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('form.type')
|
||||
|
||||
->set('form.type.file', FileType::class)
|
||||
->public()
|
||||
->args([service('translator')->ignoreOnInvalid()])
|
||||
->tag('form.type')
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
|
||||
->set('form.type.color', ColorType::class)
|
||||
->args([service('translator')->ignoreOnInvalid()])
|
||||
@@ -117,6 +115,10 @@ return static function (ContainerConfigurator $container) {
|
||||
->args([service('translator')->ignoreOnInvalid()])
|
||||
->tag('form.type_extension', ['extended-type' => FormType::class])
|
||||
|
||||
->set('form.type_extension.form.html_sanitizer', TextTypeHtmlSanitizerExtension::class)
|
||||
->args([tagged_locator('html_sanitizer', 'sanitizer')])
|
||||
->tag('form.type_extension', ['extended-type' => TextType::class])
|
||||
|
||||
->set('form.type_extension.form.http_foundation', FormTypeHttpFoundationExtension::class)
|
||||
->args([service('form.type_extension.form.request_handler')])
|
||||
->tag('form.type_extension')
|
||||
@@ -130,7 +132,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->set('form.type_extension.form.validator', FormTypeValidatorExtension::class)
|
||||
->args([
|
||||
service('validator'),
|
||||
true,
|
||||
false,
|
||||
service('twig.form.renderer')->ignoreOnInvalid(),
|
||||
service('translator')->ignoreOnInvalid(),
|
||||
])
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\HtmlSanitizer\HtmlSanitizer;
|
||||
use Symfony\Component\HtmlSanitizer\HtmlSanitizerConfig;
|
||||
use Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('html_sanitizer.config.default', HtmlSanitizerConfig::class)
|
||||
->call('allowSafeElements', [], true)
|
||||
|
||||
->set('html_sanitizer.sanitizer.default', HtmlSanitizer::class)
|
||||
->args([service('html_sanitizer.config.default')])
|
||||
->tag('html_sanitizer', ['sanitizer' => 'default'])
|
||||
|
||||
->alias('html_sanitizer', 'html_sanitizer.sanitizer.default')
|
||||
->alias(HtmlSanitizerInterface::class, 'html_sanitizer')
|
||||
;
|
||||
};
|
||||
@@ -11,18 +11,21 @@
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Http\Client\HttpAsyncClient;
|
||||
use Psr\Http\Client\ClientInterface;
|
||||
use Psr\Http\Message\ResponseFactoryInterface;
|
||||
use Psr\Http\Message\StreamFactoryInterface;
|
||||
use Symfony\Component\HttpClient\HttpClient;
|
||||
use Symfony\Component\HttpClient\HttplugClient;
|
||||
use Symfony\Component\HttpClient\Messenger\PingWebhookMessageHandler;
|
||||
use Symfony\Component\HttpClient\Psr18Client;
|
||||
use Symfony\Component\HttpClient\Retry\GenericRetryStrategy;
|
||||
use Symfony\Component\HttpClient\UriTemplateHttpClient;
|
||||
use Symfony\Contracts\HttpClient\HttpClientInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('http_client', HttpClientInterface::class)
|
||||
->set('http_client.transport', HttpClientInterface::class)
|
||||
->factory([HttpClient::class, 'create'])
|
||||
->args([
|
||||
[], // default options
|
||||
@@ -31,6 +34,10 @@ return static function (ContainerConfigurator $container) {
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('monolog.logger', ['channel' => 'http_client'])
|
||||
->tag('kernel.reset', ['method' => 'reset', 'on_invalid' => 'ignore'])
|
||||
|
||||
->set('http_client', HttpClientInterface::class)
|
||||
->factory('current')
|
||||
->args([[service('http_client.transport')]])
|
||||
->tag('http_client.client')
|
||||
|
||||
->alias(HttpClientInterface::class, 'http_client')
|
||||
@@ -44,13 +51,17 @@ return static function (ContainerConfigurator $container) {
|
||||
|
||||
->alias(ClientInterface::class, 'psr18.http_client')
|
||||
|
||||
->set(\Http\Client\HttpClient::class, HttplugClient::class)
|
||||
->set('httplug.http_client', HttplugClient::class)
|
||||
->args([
|
||||
service('http_client'),
|
||||
service(ResponseFactoryInterface::class)->ignoreOnInvalid(),
|
||||
service(StreamFactoryInterface::class)->ignoreOnInvalid(),
|
||||
])
|
||||
|
||||
->alias(HttpAsyncClient::class, 'httplug.http_client')
|
||||
->alias(\Http\Client\HttpClient::class, 'httplug.http_client')
|
||||
->deprecate('symfony/framework-bundle', '6.3', 'The "%alias_id%" service is deprecated, use "'.ClientInterface::class.'" instead.')
|
||||
|
||||
->set('http_client.abstract_retry_strategy', GenericRetryStrategy::class)
|
||||
->abstract()
|
||||
->args([
|
||||
@@ -60,5 +71,31 @@ return static function (ContainerConfigurator $container) {
|
||||
abstract_arg('max delay ms'),
|
||||
abstract_arg('jitter'),
|
||||
])
|
||||
|
||||
->set('http_client.uri_template', UriTemplateHttpClient::class)
|
||||
->decorate('http_client', null, 7) // Between TraceableHttpClient (5) and RetryableHttpClient (10)
|
||||
->args([
|
||||
service('.inner'),
|
||||
service('http_client.uri_template_expander')->nullOnInvalid(),
|
||||
abstract_arg('default vars'),
|
||||
])
|
||||
|
||||
->set('http_client.uri_template_expander.guzzle', \Closure::class)
|
||||
->factory([\Closure::class, 'fromCallable'])
|
||||
->args([
|
||||
[\GuzzleHttp\UriTemplate\UriTemplate::class, 'expand'],
|
||||
])
|
||||
|
||||
->set('http_client.uri_template_expander.rize', \Closure::class)
|
||||
->factory([\Closure::class, 'fromCallable'])
|
||||
->args([
|
||||
[inline_service(\Rize\UriTemplate::class), 'expand'],
|
||||
])
|
||||
|
||||
->set('http_client.messenger.ping_webhook_handler', PingWebhookMessageHandler::class)
|
||||
->args([
|
||||
service('http_client'),
|
||||
])
|
||||
->tag('messenger.message_handler')
|
||||
;
|
||||
};
|
||||
|
||||
@@ -17,8 +17,6 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('translator', IdentityTranslator::class)
|
||||
->public()
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
->alias(TranslatorInterface::class, 'translator')
|
||||
|
||||
->set('identity_translator', IdentityTranslator::class)
|
||||
|
||||
@@ -11,9 +11,11 @@
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Mailer\Command\MailerTestCommand;
|
||||
use Symfony\Component\Mailer\EventListener\EnvelopeListener;
|
||||
use Symfony\Component\Mailer\EventListener\MessageListener;
|
||||
use Symfony\Component\Mailer\EventListener\MessageLoggerListener;
|
||||
use Symfony\Component\Mailer\EventListener\MessengerTransportListener;
|
||||
use Symfony\Component\Mailer\Mailer;
|
||||
use Symfony\Component\Mailer\MailerInterface;
|
||||
use Symfony\Component\Mailer\Messenger\MessageHandler;
|
||||
@@ -69,13 +71,17 @@ return static function (ContainerConfigurator $container) {
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('mailer.logger_message_listener', MessageLoggerListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
->deprecate('symfony/framework-bundle', '5.2', 'The "%service_id%" service is deprecated, use "mailer.message_logger_listener" instead.')
|
||||
|
||||
->set('mailer.message_logger_listener', MessageLoggerListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
|
||||
->set('mailer.messenger_transport_listener', MessengerTransportListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('console.command.mailer_test', MailerTestCommand::class)
|
||||
->args([
|
||||
service('mailer.transports'),
|
||||
])
|
||||
->tag('console.command')
|
||||
;
|
||||
};
|
||||
|
||||
@@ -12,12 +12,17 @@
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Mailer\Bridge\Amazon\Transport\SesTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Brevo\Transport\BrevoTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Google\Transport\GmailTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Infobip\Transport\InfobipTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Mailchimp\Transport\MandrillTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\MailerSend\Transport\MailerSendTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Mailgun\Transport\MailgunTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Mailjet\Transport\MailjetTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\MailPace\Transport\MailPaceTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\OhMySmtp\Transport\OhMySmtpTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Postmark\Transport\PostmarkTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Scaleway\Transport\ScalewayTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Sendgrid\Transport\SendgridTransportFactory;
|
||||
use Symfony\Component\Mailer\Bridge\Sendinblue\Transport\SendinblueTransportFactory;
|
||||
use Symfony\Component\Mailer\Transport\AbstractTransportFactory;
|
||||
@@ -41,10 +46,22 @@ return static function (ContainerConfigurator $container) {
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.brevo', BrevoTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.gmail', GmailTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.infobip', InfobipTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.mailersend', MailerSendTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.mailchimp', MandrillTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
@@ -57,6 +74,10 @@ return static function (ContainerConfigurator $container) {
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.mailpace', MailPaceTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.postmark', PostmarkTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
@@ -69,13 +90,17 @@ return static function (ContainerConfigurator $container) {
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.scaleway', ScalewayTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.sendmail', SendmailTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.sendinblue', SendinblueTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
->tag('mailer.transport_factory')
|
||||
|
||||
->set('mailer.transport_factory.ohmysmtp', OhMySmtpTransportFactory::class)
|
||||
->parent('mailer.transport_factory.abstract')
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Mailer\Bridge\Mailgun\RemoteEvent\MailgunPayloadConverter;
|
||||
use Symfony\Component\Mailer\Bridge\Mailgun\Webhook\MailgunRequestParser;
|
||||
use Symfony\Component\Mailer\Bridge\Postmark\RemoteEvent\PostmarkPayloadConverter;
|
||||
use Symfony\Component\Mailer\Bridge\Postmark\Webhook\PostmarkRequestParser;
|
||||
use Symfony\Component\Mailer\Bridge\Sendgrid\RemoteEvent\SendgridPayloadConverter;
|
||||
use Symfony\Component\Mailer\Bridge\Sendgrid\Webhook\SendgridRequestParser;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('mailer.payload_converter.mailgun', MailgunPayloadConverter::class)
|
||||
->set('mailer.webhook.request_parser.mailgun', MailgunRequestParser::class)
|
||||
->args([service('mailer.payload_converter.mailgun')])
|
||||
->alias(MailgunRequestParser::class, 'mailer.webhook.request_parser.mailgun')
|
||||
|
||||
->set('mailer.payload_converter.postmark', PostmarkPayloadConverter::class)
|
||||
->set('mailer.webhook.request_parser.postmark', PostmarkRequestParser::class)
|
||||
->args([service('mailer.payload_converter.postmark')])
|
||||
->alias(PostmarkRequestParser::class, 'mailer.webhook.request_parser.postmark')
|
||||
|
||||
->set('mailer.payload_converter.sendgrid', SendgridPayloadConverter::class)
|
||||
->set('mailer.webhook.request_parser.sendgrid', SendgridRequestParser::class)
|
||||
->args([service('mailer.payload_converter.sendgrid')])
|
||||
->alias(SendgridRequestParser::class, 'mailer.webhook.request_parser.sendgrid')
|
||||
;
|
||||
};
|
||||
@@ -23,7 +23,8 @@ use Symfony\Component\Messenger\EventListener\SendFailedMessageForRetryListener;
|
||||
use Symfony\Component\Messenger\EventListener\SendFailedMessageToFailureTransportListener;
|
||||
use Symfony\Component\Messenger\EventListener\StopWorkerOnCustomStopExceptionListener;
|
||||
use Symfony\Component\Messenger\EventListener\StopWorkerOnRestartSignalListener;
|
||||
use Symfony\Component\Messenger\EventListener\StopWorkerOnSigtermSignalListener;
|
||||
use Symfony\Component\Messenger\EventListener\StopWorkerOnSignalsListener;
|
||||
use Symfony\Component\Messenger\Handler\RedispatchMessageHandler;
|
||||
use Symfony\Component\Messenger\Middleware\AddBusNameStampMiddleware;
|
||||
use Symfony\Component\Messenger\Middleware\DispatchAfterCurrentBusMiddleware;
|
||||
use Symfony\Component\Messenger\Middleware\FailedMessageProcessingMiddleware;
|
||||
@@ -35,7 +36,7 @@ use Symfony\Component\Messenger\Middleware\TraceableMiddleware;
|
||||
use Symfony\Component\Messenger\Middleware\ValidationMiddleware;
|
||||
use Symfony\Component\Messenger\Retry\MultiplierRetryStrategy;
|
||||
use Symfony\Component\Messenger\RoutableMessageBus;
|
||||
use Symfony\Component\Messenger\Transport\InMemoryTransportFactory;
|
||||
use Symfony\Component\Messenger\Transport\InMemory\InMemoryTransportFactory;
|
||||
use Symfony\Component\Messenger\Transport\Sender\SendersLocator;
|
||||
use Symfony\Component\Messenger\Transport\Serialization\Normalizer\FlattenExceptionNormalizer;
|
||||
use Symfony\Component\Messenger\Transport\Serialization\PhpSerializer;
|
||||
@@ -55,6 +56,7 @@ return static function (ContainerConfigurator $container) {
|
||||
abstract_arg('senders service locator'),
|
||||
])
|
||||
->set('messenger.middleware.send_message', SendMessageMiddleware::class)
|
||||
->abstract()
|
||||
->args([
|
||||
service('messenger.senders_locator'),
|
||||
service('event_dispatcher'),
|
||||
@@ -74,6 +76,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('serializer.normalizer', ['priority' => -880])
|
||||
|
||||
->set('messenger.transport.native_php_serializer', PhpSerializer::class)
|
||||
->alias('messenger.default_serializer', 'messenger.transport.native_php_serializer')
|
||||
|
||||
// Middleware
|
||||
->set('messenger.middleware.handle_message', HandleMessageMiddleware::class)
|
||||
@@ -140,6 +143,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->args([
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('monolog.logger', ['channel' => 'messenger'])
|
||||
|
||||
->set('messenger.transport.beanstalkd.factory', BeanstalkdTransportFactory::class)
|
||||
|
||||
@@ -159,6 +163,11 @@ return static function (ContainerConfigurator $container) {
|
||||
abstract_arg('max delay ms'),
|
||||
])
|
||||
|
||||
// rate limiter
|
||||
->set('messenger.rate_limiter_locator', ServiceLocator::class)
|
||||
->args([[]])
|
||||
->tag('container.service_locator')
|
||||
|
||||
// worker event listener
|
||||
->set('messenger.retry.send_failed_message_for_retry_listener', SendFailedMessageForRetryListener::class)
|
||||
->args([
|
||||
@@ -192,11 +201,17 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'messenger'])
|
||||
|
||||
->set('messenger.listener.stop_worker_on_sigterm_signal_listener', StopWorkerOnSigtermSignalListener::class)
|
||||
->set('messenger.listener.stop_worker_signals_listener', StopWorkerOnSignalsListener::class)
|
||||
->deprecate('6.4', 'symfony/messenger', 'The "%service_id%" service is deprecated, use the "Symfony\Component\Console\Command\SignalableCommandInterface" instead.')
|
||||
->args([
|
||||
null,
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'messenger'])
|
||||
|
||||
->alias('messenger.listener.stop_worker_on_sigterm_signal_listener', 'messenger.listener.stop_worker_signals_listener')
|
||||
->deprecate('6.3', 'symfony/messenger', 'The "%alias_id%" service is deprecated, use the "Symfony\Component\Console\Command\SignalableCommandInterface" instead.')
|
||||
|
||||
->set('messenger.listener.stop_worker_on_stop_exception_listener', StopWorkerOnCustomStopExceptionListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
@@ -211,5 +226,11 @@ return static function (ContainerConfigurator $container) {
|
||||
abstract_arg('message bus locator'),
|
||||
service('messenger.default_bus'),
|
||||
])
|
||||
|
||||
->set('messenger.redispatch_message_handler', RedispatchMessageHandler::class)
|
||||
->args([
|
||||
service('messenger.default_bus'),
|
||||
])
|
||||
->tag('messenger.message_handler')
|
||||
;
|
||||
};
|
||||
|
||||
@@ -22,6 +22,7 @@ use Symfony\Component\Notifier\Chatter;
|
||||
use Symfony\Component\Notifier\ChatterInterface;
|
||||
use Symfony\Component\Notifier\EventListener\NotificationLoggerListener;
|
||||
use Symfony\Component\Notifier\EventListener\SendFailedMessageToNotifierListener;
|
||||
use Symfony\Component\Notifier\FlashMessage\DefaultFlashMessageImportanceMapper;
|
||||
use Symfony\Component\Notifier\Message\ChatMessage;
|
||||
use Symfony\Component\Notifier\Message\PushMessage;
|
||||
use Symfony\Component\Notifier\Message\SmsMessage;
|
||||
@@ -43,20 +44,32 @@ return static function (ContainerConfigurator $container) {
|
||||
->set('notifier.channel_policy', ChannelPolicy::class)
|
||||
->args([[]])
|
||||
|
||||
->set('notifier.flash_message_importance_mapper', DefaultFlashMessageImportanceMapper::class)
|
||||
->args([[]])
|
||||
|
||||
->set('notifier.channel.browser', BrowserChannel::class)
|
||||
->args([service('request_stack')])
|
||||
->args([service('request_stack'), service('notifier.flash_message_importance_mapper')])
|
||||
->tag('notifier.channel', ['channel' => 'browser'])
|
||||
|
||||
->set('notifier.channel.chat', ChatChannel::class)
|
||||
->args([service('chatter.transports'), service('messenger.default_bus')->ignoreOnInvalid()])
|
||||
->args([
|
||||
service('chatter.transports'),
|
||||
abstract_arg('message bus'),
|
||||
])
|
||||
->tag('notifier.channel', ['channel' => 'chat'])
|
||||
|
||||
->set('notifier.channel.sms', SmsChannel::class)
|
||||
->args([service('texter.transports'), service('messenger.default_bus')->ignoreOnInvalid()])
|
||||
->args([
|
||||
service('texter.transports'),
|
||||
abstract_arg('message bus'),
|
||||
])
|
||||
->tag('notifier.channel', ['channel' => 'sms'])
|
||||
|
||||
->set('notifier.channel.email', EmailChannel::class)
|
||||
->args([service('mailer.transports'), service('messenger.default_bus')->ignoreOnInvalid()])
|
||||
->args([
|
||||
service('mailer.transports'),
|
||||
abstract_arg('message bus'),
|
||||
])
|
||||
->tag('notifier.channel', ['channel' => 'email'])
|
||||
|
||||
->set('notifier.channel.push', PushChannel::class)
|
||||
@@ -72,7 +85,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->set('chatter', Chatter::class)
|
||||
->args([
|
||||
service('chatter.transports'),
|
||||
service('messenger.default_bus')->ignoreOnInvalid(),
|
||||
abstract_arg('message bus'),
|
||||
service('event_dispatcher')->ignoreOnInvalid(),
|
||||
])
|
||||
|
||||
@@ -92,7 +105,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->set('texter', Texter::class)
|
||||
->args([
|
||||
service('texter.transports'),
|
||||
service('messenger.default_bus')->ignoreOnInvalid(),
|
||||
abstract_arg('message bus'),
|
||||
service('event_dispatcher')->ignoreOnInvalid(),
|
||||
])
|
||||
|
||||
@@ -113,7 +126,11 @@ return static function (ContainerConfigurator $container) {
|
||||
->args([service('texter.transports')])
|
||||
->tag('messenger.message_handler', ['handles' => PushMessage::class])
|
||||
|
||||
->set('notifier.logger_notification_listener', NotificationLoggerListener::class)
|
||||
->set('notifier.notification_logger_listener', NotificationLoggerListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->alias('notifier.logger_notification_listener', 'notifier.notification_logger_listener')
|
||||
->deprecate('symfony/framework-bundle', '6.3', 'The "%alias_id%" service is deprecated, use "notifier.notification_logger_listener" instead.')
|
||||
|
||||
;
|
||||
};
|
||||
|
||||
@@ -16,7 +16,7 @@ use Symfony\Component\Notifier\DataCollector\NotificationDataCollector;
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('notifier.data_collector', NotificationDataCollector::class)
|
||||
->args([service('notifier.logger_notification_listener')])
|
||||
->args([service('notifier.notification_logger_listener')])
|
||||
->tag('data_collector', ['template' => '@WebProfiler/Collector/notifier.html.twig', 'id' => 'notifier'])
|
||||
;
|
||||
};
|
||||
|
||||
@@ -11,212 +11,162 @@
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Notifier\Bridge\AllMySms\AllMySmsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\AmazonSns\AmazonSnsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Clickatell\ClickatellTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Discord\DiscordTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Esendex\EsendexTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Expo\ExpoTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\FakeChat\FakeChatTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\FakeSms\FakeSmsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Firebase\FirebaseTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\FreeMobile\FreeMobileTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\GatewayApi\GatewayApiTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Gitter\GitterTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\GoogleChat\GoogleChatTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Infobip\InfobipTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Iqsms\IqsmsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\LightSms\LightSmsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\LinkedIn\LinkedInTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Mailjet\MailjetTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Mattermost\MattermostTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Mercure\MercureTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\MessageBird\MessageBirdTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\MessageMedia\MessageMediaTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\MicrosoftTeams\MicrosoftTeamsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Mobyt\MobytTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Nexmo\NexmoTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Octopush\OctopushTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\OneSignal\OneSignalTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\OvhCloud\OvhCloudTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\RocketChat\RocketChatTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Sendinblue\SendinblueTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Sinch\SinchTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Slack\SlackTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Sms77\Sms77TransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Smsapi\SmsapiTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\SmsBiuras\SmsBiurasTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Smsc\SmscTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\SpotHit\SpotHitTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Telegram\TelegramTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Telnyx\TelnyxTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\TurboSms\TurboSmsTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Twilio\TwilioTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Vonage\VonageTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Yunpian\YunpianTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge\Zulip\ZulipTransportFactory;
|
||||
use Symfony\Component\Notifier\Bridge;
|
||||
use Symfony\Component\Notifier\Transport\AbstractTransportFactory;
|
||||
use Symfony\Component\Notifier\Transport\NullTransportFactory;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->alias('notifier.transport_factory.allmysms', 'notifier.transport_factory.all-my-sms')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.all-my-sms" instead.')
|
||||
->alias('notifier.transport_factory.fakechat', 'notifier.transport_factory.fake-chat')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.fake-chat" instead.')
|
||||
->alias('notifier.transport_factory.fakesms', 'notifier.transport_factory.fake-sms')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.fake-sms" instead.')
|
||||
->alias('notifier.transport_factory.freemobile', 'notifier.transport_factory.free-mobile')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.free-mobile" instead.')
|
||||
->alias('notifier.transport_factory.gatewayapi', 'notifier.transport_factory.gateway-api')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.gateway-api" instead.')
|
||||
->alias('notifier.transport_factory.googlechat', 'notifier.transport_factory.google-chat')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.google-chat" instead.')
|
||||
->alias('notifier.transport_factory.lightsms', 'notifier.transport_factory.light-sms')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.light-sms" instead.')
|
||||
->alias('notifier.transport_factory.linkedin', 'notifier.transport_factory.linked-in')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.linked-in" instead.')
|
||||
->alias('notifier.transport_factory.microsoftteams', 'notifier.transport_factory.microsoft-teams')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.microsoft-teams" instead.')
|
||||
->alias('notifier.transport_factory.onesignal', 'notifier.transport_factory.one-signal')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.one-signal" instead.')
|
||||
->alias('notifier.transport_factory.ovhcloud', 'notifier.transport_factory.ovh-cloud')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.ovh-cloud" instead.')
|
||||
->alias('notifier.transport_factory.rocketchat', 'notifier.transport_factory.rocket-chat')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.rocket-chat" instead.')
|
||||
->alias('notifier.transport_factory.spothit', 'notifier.transport_factory.spot-hit')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%alias_id% service is deprecated, use "notifier.transport_factory.spot-hit" instead.')
|
||||
|
||||
->set('notifier.transport_factory.abstract', AbstractTransportFactory::class)
|
||||
->abstract()
|
||||
->args([service('event_dispatcher'), service('http_client')->ignoreOnInvalid()])
|
||||
|
||||
->set('notifier.transport_factory.slack', SlackTransportFactory::class)
|
||||
->set('notifier.transport_factory.brevo', Bridge\Brevo\BrevoTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.slack', Bridge\Slack\SlackTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.linked-in', LinkedInTransportFactory::class)
|
||||
->set('notifier.transport_factory.linked-in', Bridge\LinkedIn\LinkedInTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.telegram', TelegramTransportFactory::class)
|
||||
->set('notifier.transport_factory.telegram', Bridge\Telegram\TelegramTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.mattermost', MattermostTransportFactory::class)
|
||||
->set('notifier.transport_factory.mattermost', Bridge\Mattermost\MattermostTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.nexmo', NexmoTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
->deprecate('symfony/framework-bundle', '5.4', 'The "%service_id% service is deprecated, use "notifier.transport_factory.vonage" instead.')
|
||||
|
||||
->set('notifier.transport_factory.vonage', VonageTransportFactory::class)
|
||||
->set('notifier.transport_factory.vonage', Bridge\Vonage\VonageTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.rocket-chat', RocketChatTransportFactory::class)
|
||||
->set('notifier.transport_factory.rocket-chat', Bridge\RocketChat\RocketChatTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.google-chat', GoogleChatTransportFactory::class)
|
||||
->set('notifier.transport_factory.google-chat', Bridge\GoogleChat\GoogleChatTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.twilio', TwilioTransportFactory::class)
|
||||
->set('notifier.transport_factory.twilio', Bridge\Twilio\TwilioTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.all-my-sms', AllMySmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.firebase', FirebaseTransportFactory::class)
|
||||
->set('notifier.transport_factory.twitter', Bridge\Twitter\TwitterTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.free-mobile', FreeMobileTransportFactory::class)
|
||||
->set('notifier.transport_factory.all-my-sms', Bridge\AllMySms\AllMySmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.spot-hit', SpotHitTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.fake-chat', FakeChatTransportFactory::class)
|
||||
->set('notifier.transport_factory.firebase', Bridge\Firebase\FirebaseTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.fake-sms', FakeSmsTransportFactory::class)
|
||||
->set('notifier.transport_factory.forty-six-elks', Bridge\FortySixElks\FortySixElksTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.ovh-cloud', OvhCloudTransportFactory::class)
|
||||
->set('notifier.transport_factory.free-mobile', Bridge\FreeMobile\FreeMobileTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.sinch', SinchTransportFactory::class)
|
||||
->set('notifier.transport_factory.spot-hit', Bridge\SpotHit\SpotHitTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.zulip', ZulipTransportFactory::class)
|
||||
->set('notifier.transport_factory.fake-chat', Bridge\FakeChat\FakeChatTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.infobip', InfobipTransportFactory::class)
|
||||
->set('notifier.transport_factory.fake-sms', Bridge\FakeSms\FakeSmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.mobyt', MobytTransportFactory::class)
|
||||
->set('notifier.transport_factory.ovh-cloud', Bridge\OvhCloud\OvhCloudTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.smsapi', SmsapiTransportFactory::class)
|
||||
->set('notifier.transport_factory.sinch', Bridge\Sinch\SinchTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.esendex', EsendexTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.sendinblue', SendinblueTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.iqsms', IqsmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.octopush', OctopushTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.discord', DiscordTransportFactory::class)
|
||||
->set('notifier.transport_factory.zulip', Bridge\Zulip\ZulipTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.microsoft-teams', MicrosoftTeamsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.gateway-api', GatewayApiTransportFactory::class)
|
||||
->set('notifier.transport_factory.infobip', Bridge\Infobip\InfobipTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.mercure', MercureTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.gitter', GitterTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.clickatell', ClickatellTransportFactory::class)
|
||||
->set('notifier.transport_factory.isendpro', Bridge\Isendpro\IsendproTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.amazon-sns', AmazonSnsTransportFactory::class)
|
||||
->set('notifier.transport_factory.mobyt', Bridge\Mobyt\MobytTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.smsapi', Bridge\Smsapi\SmsapiTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.esendex', Bridge\Esendex\EsendexTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.sendberry', Bridge\Sendberry\SendberryTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.sendinblue', Bridge\Sendinblue\SendinblueTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.iqsms', Bridge\Iqsms\IqsmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.octopush', Bridge\Octopush\OctopushTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.discord', Bridge\Discord\DiscordTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.microsoft-teams', Bridge\MicrosoftTeams\MicrosoftTeamsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.gateway-api', Bridge\GatewayApi\GatewayApiTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.mercure', Bridge\Mercure\MercureTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.gitter', Bridge\Gitter\GitterTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.clickatell', Bridge\Clickatell\ClickatellTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.contact-everyone', Bridge\ContactEveryone\ContactEveryoneTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.amazon-sns', Bridge\AmazonSns\AmazonSnsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
->tag('chatter.transport_factory')
|
||||
@@ -226,51 +176,134 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('chatter.transport_factory')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.light-sms', LightSmsTransportFactory::class)
|
||||
->set('notifier.transport_factory.light-sms', Bridge\LightSms\LightSmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.sms-biuras', SmsBiurasTransportFactory::class)
|
||||
->set('notifier.transport_factory.sms-biuras', Bridge\SmsBiuras\SmsBiurasTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.smsc', SmscTransportFactory::class)
|
||||
->set('notifier.transport_factory.smsc', Bridge\Smsc\SmscTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.message-bird', MessageBirdTransportFactory::class)
|
||||
->set('notifier.transport_factory.sms-factor', Bridge\SmsFactor\SmsFactorTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.message-media', MessageMediaTransportFactory::class)
|
||||
->set('notifier.transport_factory.message-bird', Bridge\MessageBird\MessageBirdTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.telnyx', TelnyxTransportFactory::class)
|
||||
->set('notifier.transport_factory.message-media', Bridge\MessageMedia\MessageMediaTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.mailjet', MailjetTransportFactory::class)
|
||||
->set('notifier.transport_factory.telnyx', Bridge\Telnyx\TelnyxTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.yunpian', YunpianTransportFactory::class)
|
||||
->set('notifier.transport_factory.mailjet', Bridge\Mailjet\MailjetTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.turbo-sms', TurboSmsTransportFactory::class)
|
||||
->set('notifier.transport_factory.yunpian', Bridge\Yunpian\YunpianTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.sms77', Sms77TransportFactory::class)
|
||||
->set('notifier.transport_factory.turbo-sms', Bridge\TurboSms\TurboSmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.one-signal', OneSignalTransportFactory::class)
|
||||
->set('notifier.transport_factory.sms77', Bridge\Sms77\Sms77TransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.expo', ExpoTransportFactory::class)
|
||||
->set('notifier.transport_factory.one-signal', Bridge\OneSignal\OneSignalTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.orange-sms', Bridge\OrangeSms\OrangeSmsTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.expo', Bridge\Expo\ExpoTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.kaz-info-teh', Bridge\KazInfoTeh\KazInfoTehTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.engagespot', Bridge\Engagespot\EngagespotTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.zendesk', Bridge\Zendesk\ZendeskTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.chatwork', Bridge\Chatwork\ChatworkTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.termii', Bridge\Termii\TermiiTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.ring-central', Bridge\RingCentral\RingCentralTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.plivo', Bridge\Plivo\PlivoTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.bandwidth', Bridge\Bandwidth\BandwidthTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.line-notify', Bridge\LineNotify\LineNotifyTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.mastodon', Bridge\Mastodon\MastodonTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.pager-duty', Bridge\PagerDuty\PagerDutyTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('chatter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.pushover', Bridge\Pushover\PushoverTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.simple-textin', Bridge\SimpleTextin\SimpleTextinTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.click-send', Bridge\ClickSend\ClickSendTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.smsmode', Bridge\Smsmode\SmsmodeTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.novu', Bridge\Novu\NovuTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.ntfy', Bridge\Ntfy\NtfyTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
|
||||
->set('notifier.transport_factory.redlink', Bridge\Redlink\RedlinkTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
->set('notifier.transport_factory.go-ip', Bridge\GoIp\GoIpTransportFactory::class)
|
||||
->parent('notifier.transport_factory.abstract')
|
||||
->tag('texter.transport_factory')
|
||||
;
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Notifier\Bridge\Twilio\Webhook\TwilioRequestParser;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('notifier.webhook.request_parser.twilio', TwilioRequestParser::class)
|
||||
->alias(TwilioRequestParser::class, 'notifier.webhook.request_parser.twilio')
|
||||
;
|
||||
};
|
||||
22
lib/symfony/framework-bundle/Resources/config/process.php
Normal file
22
lib/symfony/framework-bundle/Resources/config/process.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Process\Messenger\RunProcessMessageHandler;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container
|
||||
->services()
|
||||
->set('process.messenger.process_message_handler', RunProcessMessageHandler::class)
|
||||
->tag('messenger.message_handler')
|
||||
;
|
||||
};
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\EventListener\ConsoleProfilerListener;
|
||||
use Symfony\Component\HttpKernel\Debug\VirtualRequestStack;
|
||||
use Symfony\Component\HttpKernel\EventListener\ProfilerListener;
|
||||
use Symfony\Component\HttpKernel\Profiler\FileProfilerStorage;
|
||||
use Symfony\Component\HttpKernel\Profiler\Profiler;
|
||||
@@ -35,5 +37,18 @@ return static function (ContainerConfigurator $container) {
|
||||
param('profiler_listener.only_main_requests'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('console_profiler_listener', ConsoleProfilerListener::class)
|
||||
->args([
|
||||
service('profiler'),
|
||||
service('.virtual_request_stack'),
|
||||
service('debug.stopwatch'),
|
||||
service('router'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('.virtual_request_stack', VirtualRequestStack::class)
|
||||
->args([service('request_stack')])
|
||||
->public()
|
||||
;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\RemoteEvent\Messenger\ConsumeRemoteEventHandler;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('remote_event.messenger.handler', ConsumeRemoteEventHandler::class)
|
||||
->args([
|
||||
tagged_locator('remote_event.consumer', 'consumer'),
|
||||
])
|
||||
->tag('messenger.message_handler')
|
||||
;
|
||||
};
|
||||
@@ -15,6 +15,7 @@ use Psr\Container\ContainerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\CacheWarmer\RouterCacheWarmer;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\RedirectController;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\TemplateController;
|
||||
use Symfony\Bundle\FrameworkBundle\Routing\AttributeRouteControllerLoader;
|
||||
use Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader;
|
||||
use Symfony\Bundle\FrameworkBundle\Routing\RedirectableCompiledUrlMatcher;
|
||||
use Symfony\Bundle\FrameworkBundle\Routing\Router;
|
||||
@@ -23,10 +24,13 @@ use Symfony\Component\HttpKernel\EventListener\RouterListener;
|
||||
use Symfony\Component\Routing\Generator\CompiledUrlGenerator;
|
||||
use Symfony\Component\Routing\Generator\Dumper\CompiledUrlGeneratorDumper;
|
||||
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
||||
use Symfony\Component\Routing\Loader\AttributeDirectoryLoader;
|
||||
use Symfony\Component\Routing\Loader\AttributeFileLoader;
|
||||
use Symfony\Component\Routing\Loader\ContainerLoader;
|
||||
use Symfony\Component\Routing\Loader\DirectoryLoader;
|
||||
use Symfony\Component\Routing\Loader\GlobFileLoader;
|
||||
use Symfony\Component\Routing\Loader\PhpFileLoader;
|
||||
use Symfony\Component\Routing\Loader\Psr4DirectoryLoader;
|
||||
use Symfony\Component\Routing\Loader\XmlFileLoader;
|
||||
use Symfony\Component\Routing\Loader\YamlFileLoader;
|
||||
use Symfony\Component\Routing\Matcher\Dumper\CompiledUrlMatcherDumper;
|
||||
@@ -88,6 +92,41 @@ return static function (ContainerConfigurator $container) {
|
||||
])
|
||||
->tag('routing.loader')
|
||||
|
||||
->set('routing.loader.attribute', AttributeRouteControllerLoader::class)
|
||||
->args([
|
||||
'%kernel.environment%',
|
||||
])
|
||||
->tag('routing.loader', ['priority' => -10])
|
||||
|
||||
->alias('routing.loader.annotation', 'routing.loader.attribute')
|
||||
->deprecate('symfony/routing', '6.4', 'The "%alias_id%" service is deprecated, use the "routing.loader.attribute" service instead.')
|
||||
|
||||
->set('routing.loader.attribute.directory', AttributeDirectoryLoader::class)
|
||||
->args([
|
||||
service('file_locator'),
|
||||
service('routing.loader.attribute'),
|
||||
])
|
||||
->tag('routing.loader', ['priority' => -10])
|
||||
|
||||
->alias('routing.loader.annotation.directory', 'routing.loader.attribute.directory')
|
||||
->deprecate('symfony/routing', '6.4', 'The "%alias_id%" service is deprecated, use the "routing.loader.attribute.directory" service instead.')
|
||||
|
||||
->set('routing.loader.attribute.file', AttributeFileLoader::class)
|
||||
->args([
|
||||
service('file_locator'),
|
||||
service('routing.loader.attribute'),
|
||||
])
|
||||
->tag('routing.loader', ['priority' => -10])
|
||||
|
||||
->alias('routing.loader.annotation.file', 'routing.loader.attribute.file')
|
||||
->deprecate('symfony/routing', '6.4', 'The "%alias_id%" service is deprecated, use the "routing.loader.attribute.file" service instead.')
|
||||
|
||||
->set('routing.loader.psr4', Psr4DirectoryLoader::class)
|
||||
->args([
|
||||
service('file_locator'),
|
||||
])
|
||||
->tag('routing.loader', ['priority' => -10])
|
||||
|
||||
->set('routing.loader', DelegatingLoader::class)
|
||||
->public()
|
||||
->args([
|
||||
@@ -101,7 +140,7 @@ return static function (ContainerConfigurator $container) {
|
||||
service(ContainerInterface::class),
|
||||
param('router.resource'),
|
||||
[
|
||||
'cache_dir' => param('kernel.cache_dir'),
|
||||
'cache_dir' => param('router.cache_dir'),
|
||||
'debug' => param('kernel.debug'),
|
||||
'generator_class' => CompiledUrlGenerator::class,
|
||||
'generator_dumper_class' => CompiledUrlGeneratorDumper::class,
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<routes xmlns="http://symfony.com/schema/routing"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/routing https://symfony.com/schema/routing/routing-1.0.xsd">
|
||||
|
||||
<route id="_webhook_controller" path="/{type}">
|
||||
<default key="_controller">webhook.controller::handle</default>
|
||||
<requirement key="type">.+</requirement>
|
||||
</route>
|
||||
</routes>
|
||||
38
lib/symfony/framework-bundle/Resources/config/scheduler.php
Normal file
38
lib/symfony/framework-bundle/Resources/config/scheduler.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Scheduler\EventListener\DispatchSchedulerEventListener;
|
||||
use Symfony\Component\Scheduler\Messenger\SchedulerTransportFactory;
|
||||
use Symfony\Component\Scheduler\Messenger\ServiceCallMessageHandler;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('scheduler.messenger.service_call_message_handler', ServiceCallMessageHandler::class)
|
||||
->args([
|
||||
tagged_locator('scheduler.task'),
|
||||
])
|
||||
->tag('messenger.message_handler')
|
||||
->set('scheduler.messenger_transport_factory', SchedulerTransportFactory::class)
|
||||
->args([
|
||||
tagged_locator('scheduler.schedule_provider', 'name'),
|
||||
service('clock'),
|
||||
])
|
||||
->tag('messenger.transport_factory')
|
||||
->set('scheduler.event_listener', DispatchSchedulerEventListener::class)
|
||||
->args([
|
||||
tagged_locator('scheduler.schedule_provider', 'name'),
|
||||
service('event_dispatcher'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
;
|
||||
};
|
||||
@@ -10,6 +10,7 @@
|
||||
<xsd:complexType name="config">
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="assets" type="assets" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="asset-mapper" type="asset_mapper" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="form" type="form" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="csrf-protection" type="csrf_protection" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="esi" type="esi" minOccurs="0" maxOccurs="1" />
|
||||
@@ -24,6 +25,7 @@
|
||||
<xsd:element name="validation" type="validation" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="annotations" type="annotations" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="property-access" type="property_access" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="scheduler" type="scheduler" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="serializer" type="serializer" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="property-info" type="property_info" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="cache" type="cache" minOccurs="0" maxOccurs="1" />
|
||||
@@ -32,6 +34,7 @@
|
||||
<xsd:element name="exceptions" type="exceptions" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="exception" type="new-exception" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="lock" type="lock" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="semaphore" type="semaphore" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="messenger" type="messenger" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="http-client" type="http_client" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="mailer" type="mailer" minOccurs="0" maxOccurs="1" />
|
||||
@@ -39,10 +42,15 @@
|
||||
<xsd:element name="rate-limiter" type="rate_limiter" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="uid" type="uid" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="notifier" type="notifier" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="html-sanitizer" type="html-sanitizer" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="enabled-locale" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="webhook" type="webhook" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="remote-event" type="remote-event" minOccurs="0" maxOccurs="1" />
|
||||
</xsd:choice>
|
||||
|
||||
<xsd:attribute name="http-method-override" type="xsd:boolean" />
|
||||
<xsd:attribute name="handle-all-throwables" type="xsd:boolean" />
|
||||
<xsd:attribute name="trust-x-sendfile-type-header" type="xsd:boolean" />
|
||||
<xsd:attribute name="ide" type="xsd:string" />
|
||||
<xsd:attribute name="secret" type="xsd:string" />
|
||||
<xsd:attribute name="default-locale" type="xsd:string" />
|
||||
@@ -101,6 +109,7 @@
|
||||
<xsd:attribute name="username" type="xsd:string" />
|
||||
<xsd:attribute name="password" type="xsd:string" />
|
||||
<xsd:attribute name="lifetime" type="xsd:string" />
|
||||
<xsd:attribute name="collect-serializer-data" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="router">
|
||||
@@ -111,6 +120,7 @@
|
||||
<xsd:attribute name="strict-requirements" type="xsd:string" />
|
||||
<xsd:attribute name="utf8" type="xsd:boolean" />
|
||||
<xsd:attribute name="default-uri" type="xsd:string" />
|
||||
<xsd:attribute name="cache-dir" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="session">
|
||||
@@ -178,11 +188,48 @@
|
||||
<xsd:attribute name="strict-mode" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="asset_mapper">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="path" type="asset_mapper_path" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="excluded-pattern" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="extension" type="asset_mapper_extension" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="importmap-script-attribute" type="asset_mapper_attribute" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="exclude-dotfiles" type="xsd:boolean" />
|
||||
<xsd:attribute name="server" type="xsd:boolean" />
|
||||
<xsd:attribute name="public-prefix" type="xsd:string" />
|
||||
<xsd:attribute name="missing-import-mode" type="missing-import-mode" />
|
||||
<xsd:attribute name="importmap-path" type="xsd:string" />
|
||||
<xsd:attribute name="importmap-polyfill" type="xsd:string" />
|
||||
<xsd:attribute name="vendor-dir" type="xsd:string" />
|
||||
<xsd:attribute name="provider" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="asset_mapper_path" mixed="true">
|
||||
<xsd:attribute name="namespace" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="asset_mapper_extension" mixed="true">
|
||||
<xsd:attribute name="extension" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="asset_mapper_attribute" mixed="true">
|
||||
<xsd:attribute name="key" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="missing-import-mode">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="strict" />
|
||||
<xsd:enumeration value="warn" />
|
||||
<xsd:enumeration value="ignore" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:complexType name="translator">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="fallback" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="path" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="enabled-locale" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="pseudo-localization" type="pseudo_localization" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="provider" type="translation_provider" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
@@ -191,6 +238,7 @@
|
||||
<xsd:attribute name="logging" type="xsd:boolean" />
|
||||
<xsd:attribute name="formatter" type="xsd:string" />
|
||||
<xsd:attribute name="cache-dir" type="xsd:string" />
|
||||
<xsd:attribute name="default-path" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="pseudo_localization">
|
||||
@@ -223,6 +271,7 @@
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="cache" type="xsd:string" />
|
||||
<xsd:attribute name="enable-annotations" type="xsd:boolean" />
|
||||
<xsd:attribute name="enable-attributes" type="xsd:boolean" />
|
||||
<xsd:attribute name="static-method" type="xsd:boolean" />
|
||||
<xsd:attribute name="translation-domain" type="xsd:string" />
|
||||
<xsd:attribute name="strict-email" type="xsd:boolean" />
|
||||
@@ -265,6 +314,10 @@
|
||||
<xsd:attribute name="throw-exception-on-invalid-property-path" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="scheduler">
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="serializer">
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:element name="mapping" type="file_mapping" />
|
||||
@@ -272,6 +325,7 @@
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="enable-annotations" type="xsd:boolean" />
|
||||
<xsd:attribute name="enable-attributes" type="xsd:boolean" />
|
||||
<xsd:attribute name="name-converter" type="xsd:string" />
|
||||
<xsd:attribute name="circular-reference-handler" type="xsd:string" />
|
||||
<xsd:attribute name="max-depth-handler" type="xsd:string" />
|
||||
@@ -301,6 +355,7 @@
|
||||
<xsd:attribute name="default-redis-provider" type="xsd:string" />
|
||||
<xsd:attribute name="default-memcached-provider" type="xsd:string" />
|
||||
<xsd:attribute name="default-pdo-provider" type="xsd:string" />
|
||||
<xsd:attribute name="default-doctrine-dbal-provider" type="xsd:string" />
|
||||
<xsd:attribute name="prefix-seed" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
@@ -398,8 +453,6 @@
|
||||
|
||||
<xsd:simpleType name="marking_store_type">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="multiple_state" />
|
||||
<xsd:enumeration value="single_state" />
|
||||
<xsd:enumeration value="method" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
@@ -439,7 +492,7 @@
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="default_middleware">
|
||||
<xsd:simpleType name="default_middleware_attr">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="true" />
|
||||
<xsd:enumeration value="false" />
|
||||
@@ -449,6 +502,12 @@
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:complexType name="default_middleware_elem">
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="allow_no_handlers" type="xsd:boolean" />
|
||||
<xsd:attribute name="allow_no_senders" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="cookie_secure">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="true" />
|
||||
@@ -505,6 +564,21 @@
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="semaphore">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="resource" type="semaphore_resource" minOccurs="1" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="semaphore_resource">
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:string">
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="serializer" type="messenger_serializer" minOccurs="0" />
|
||||
@@ -552,6 +626,7 @@
|
||||
<xsd:attribute name="serializer" type="xsd:string" />
|
||||
<xsd:attribute name="dsn" type="xsd:string" />
|
||||
<xsd:attribute name="failure-transport" type="xsd:string" />
|
||||
<xsd:attribute name="rate-limiter" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger_retry_strategy">
|
||||
@@ -564,10 +639,11 @@
|
||||
|
||||
<xsd:complexType name="messenger_bus">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="default-middleware" type="default_middleware_elem" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="middleware" type="messenger_middleware" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="default-middleware" type="default_middleware"/>
|
||||
<xsd:attribute name="default-middleware" type="default_middleware_attr"/>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="messenger_middleware">
|
||||
@@ -593,6 +669,7 @@
|
||||
<xsd:element name="header" type="http_header" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="peer-fingerprint" type="fingerprint" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="retry-failed" type="http_client_retry_failed" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="extra" type="xsd:anyType" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="max-redirects" type="xsd:integer" />
|
||||
<xsd:attribute name="http-version" type="xsd:string" />
|
||||
@@ -618,6 +695,7 @@
|
||||
<xsd:element name="header" type="http_header" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="peer-fingerprint" type="fingerprint" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="retry-failed" type="http_client_retry_failed" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="extra" type="xsd:anyType" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="scope" type="xsd:string" />
|
||||
@@ -721,6 +799,7 @@
|
||||
<xsd:attribute name="allow-revalidate" type="xsd:boolean" />
|
||||
<xsd:attribute name="stale-while-revalidate" type="xsd:integer" />
|
||||
<xsd:attribute name="stale-if-error" type="xsd:integer" />
|
||||
<xsd:attribute name="terminate-on-cache-hit" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:simpleType name="http_cache_trace_levels">
|
||||
@@ -748,7 +827,7 @@
|
||||
<xsd:attribute name="lock-factory" type="xsd:string" />
|
||||
<xsd:attribute name="storage-service" type="xsd:string" />
|
||||
<xsd:attribute name="cache-pool" type="xsd:string" />
|
||||
<xsd:attribute name="strategy" type="xsd:string" />
|
||||
<xsd:attribute name="policy" type="xsd:string" />
|
||||
<xsd:attribute name="limit" type="xsd:int" />
|
||||
<xsd:attribute name="interval" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
@@ -826,4 +905,83 @@
|
||||
<xsd:attribute name="email" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="phone" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="html-sanitizer">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="sanitizer" type="sanitizer" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="sanitizer">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="allow-element" type="element-option" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="block-element" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="drop-element" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="allow-attribute" type="attribute-option" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="drop-attribute" type="attribute-option" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="force-attribute" type="force-attribute" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="allowed-link-scheme" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="allowed-link-host" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="allowed-media-scheme" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="allowed-media-host" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="with-attribute-sanitizer" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="without-attribute-sanitizer" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="allow-safe-elements" type="xsd:boolean" />
|
||||
<xsd:attribute name="allow-static-elements" type="xsd:boolean" />
|
||||
<xsd:attribute name="force-https-urls" type="xsd:boolean" />
|
||||
<xsd:attribute name="allow-relative-links" type="xsd:boolean" />
|
||||
<xsd:attribute name="allow-relative-medias" type="xsd:boolean" />
|
||||
<xsd:attribute name="max-input-length" type="xsd:positiveInteger" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="element-option">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="attribute" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="attribute-option">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="element" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="force-attribute">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="attribute" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:string">
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="webhook">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="routing" type="webhook_routing" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
<xsd:attribute name="message-bus" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="webhook_routing" mixed="true">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="service" type="xsd:string" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="secret" type="xsd:string" minOccurs="0" maxOccurs="1" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="remote-event">
|
||||
<xsd:attribute name="enabled" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
</xsd:schema>
|
||||
|
||||
@@ -32,13 +32,11 @@ return static function (ContainerConfigurator $container) {
|
||||
->alias(TokenStorageInterface::class, 'security.csrf.token_storage')
|
||||
|
||||
->set('security.csrf.token_manager', CsrfTokenManager::class)
|
||||
->public()
|
||||
->args([
|
||||
service('security.csrf.token_generator'),
|
||||
service('security.csrf.token_storage'),
|
||||
service('request_stack')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
|
||||
->alias(CsrfTokenManagerInterface::class, 'security.csrf.token_manager')
|
||||
|
||||
|
||||
23
lib/symfony/framework-bundle/Resources/config/semaphore.php
Normal file
23
lib/symfony/framework-bundle/Resources/config/semaphore.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Semaphore\SemaphoreFactory;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('semaphore.factory.abstract', SemaphoreFactory::class)->abstract()
|
||||
->args([abstract_arg('Store')])
|
||||
->call('setLogger', [service('logger')->ignoreOnInvalid()])
|
||||
->tag('monolog.logger', ['channel' => 'semaphore'])
|
||||
;
|
||||
};
|
||||
@@ -42,10 +42,12 @@ use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
|
||||
use Symfony\Component\Serializer\Normalizer\FormErrorNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\JsonSerializableNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\MimeMessageNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface;
|
||||
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
|
||||
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\ProblemNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\PropertyNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\TranslatableNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\UidNormalizer;
|
||||
use Symfony\Component\Serializer\Normalizer\UnwrappingDenormalizer;
|
||||
use Symfony\Component\Serializer\Serializer;
|
||||
@@ -58,9 +60,7 @@ return static function (ContainerConfigurator $container) {
|
||||
|
||||
$container->services()
|
||||
->set('serializer', Serializer::class)
|
||||
->public()
|
||||
->args([[], []])
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
|
||||
->alias(SerializerInterface::class, 'serializer')
|
||||
->alias(NormalizerInterface::class, 'serializer')
|
||||
@@ -104,7 +104,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('serializer.normalizer', ['priority' => -950])
|
||||
|
||||
->set('serializer.normalizer.problem', ProblemNormalizer::class)
|
||||
->args([param('kernel.debug')])
|
||||
->args([param('kernel.debug'), '$translator' => service('translator')->nullOnInvalid()])
|
||||
->tag('serializer.normalizer', ['priority' => -890])
|
||||
|
||||
->set('serializer.denormalizer.unwrapping', UnwrappingDenormalizer::class)
|
||||
@@ -114,6 +114,10 @@ return static function (ContainerConfigurator $container) {
|
||||
->set('serializer.normalizer.uid', UidNormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -890])
|
||||
|
||||
->set('serializer.normalizer.translatable', TranslatableNormalizer::class)
|
||||
->args(['$translator' => service('translator')])
|
||||
->tag('serializer.normalizer', ['priority' => -890])
|
||||
|
||||
->set('serializer.normalizer.form_error', FormErrorNormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -915])
|
||||
|
||||
@@ -129,6 +133,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('serializer.normalizer', ['priority' => -1000])
|
||||
|
||||
->alias(ObjectNormalizer::class, 'serializer.normalizer.object')
|
||||
->deprecate('symfony/serializer', '6.2', 'The "%alias_id%" service alias is deprecated, type-hint against "'.NormalizerInterface::class.'" or implement "'.NormalizerAwareInterface::class.'" instead.')
|
||||
|
||||
->set('serializer.normalizer.property', PropertyNormalizer::class)
|
||||
->args([
|
||||
@@ -140,6 +145,7 @@ return static function (ContainerConfigurator $container) {
|
||||
])
|
||||
|
||||
->alias(PropertyNormalizer::class, 'serializer.normalizer.property')
|
||||
->deprecate('symfony/serializer', '6.2', 'The "%alias_id%" service alias is deprecated, type-hint against "'.NormalizerInterface::class.'" or implement "'.NormalizerAwareInterface::class.'" instead.')
|
||||
|
||||
->set('serializer.denormalizer.array', ArrayDenormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -990])
|
||||
@@ -211,12 +217,8 @@ return static function (ContainerConfigurator $container) {
|
||||
->factory([HtmlErrorRenderer::class, 'isDebug'])
|
||||
->args([service('request_stack'), param('kernel.debug')]),
|
||||
])
|
||||
;
|
||||
|
||||
if (interface_exists(\BackedEnum::class)) {
|
||||
$container->services()
|
||||
->set('serializer.normalizer.backed_enum', BackedEnumNormalizer::class)
|
||||
->set('serializer.normalizer.backed_enum', BackedEnumNormalizer::class)
|
||||
->tag('serializer.normalizer', ['priority' => -915])
|
||||
;
|
||||
}
|
||||
;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Serializer\DataCollector\SerializerDataCollector;
|
||||
use Symfony\Component\Serializer\Debug\TraceableSerializer;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('debug.serializer', TraceableSerializer::class)
|
||||
->decorate('serializer')
|
||||
->args([
|
||||
service('debug.serializer.inner'),
|
||||
service('serializer.data_collector'),
|
||||
])
|
||||
|
||||
->set('serializer.data_collector', SerializerDataCollector::class)
|
||||
->tag('data_collector', [
|
||||
'template' => '@WebProfiler/Collector/serializer.html.twig',
|
||||
'id' => 'serializer',
|
||||
])
|
||||
;
|
||||
};
|
||||
@@ -11,8 +11,13 @@
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Psr\Clock\ClockInterface as PsrClockInterface;
|
||||
use Psr\EventDispatcher\EventDispatcherInterface as PsrEventDispatcherInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\CacheWarmer\ConfigBuilderCacheWarmer;
|
||||
use Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache;
|
||||
use Symfony\Component\Clock\Clock;
|
||||
use Symfony\Component\Clock\ClockInterface;
|
||||
use Symfony\Component\Config\Loader\LoaderInterface;
|
||||
use Symfony\Component\Config\Resource\SelfCheckingResourceChecker;
|
||||
use Symfony\Component\Config\ResourceCheckerConfigCacheFactory;
|
||||
use Symfony\Component\Console\ConsoleEvents;
|
||||
@@ -26,7 +31,11 @@ use Symfony\Component\EventDispatcher\EventDispatcher;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface as EventDispatcherInterfaceComponentAlias;
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
use Symfony\Component\Form\FormEvents;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\RequestStack;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||
use Symfony\Component\HttpFoundation\UriSigner;
|
||||
use Symfony\Component\HttpFoundation\UrlHelper;
|
||||
use Symfony\Component\HttpKernel\CacheClearer\ChainCacheClearer;
|
||||
use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate;
|
||||
@@ -39,7 +48,7 @@ use Symfony\Component\HttpKernel\HttpKernel;
|
||||
use Symfony\Component\HttpKernel\HttpKernelInterface;
|
||||
use Symfony\Component\HttpKernel\KernelEvents;
|
||||
use Symfony\Component\HttpKernel\KernelInterface;
|
||||
use Symfony\Component\HttpKernel\UriSigner;
|
||||
use Symfony\Component\HttpKernel\UriSigner as HttpKernelUriSigner;
|
||||
use Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner;
|
||||
use Symfony\Component\Runtime\Runner\Symfony\ResponseRunner;
|
||||
use Symfony\Component\Runtime\SymfonyRuntime;
|
||||
@@ -73,6 +82,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('event_dispatcher.dispatcher', ['name' => 'event_dispatcher'])
|
||||
->alias(EventDispatcherInterfaceComponentAlias::class, 'event_dispatcher')
|
||||
->alias(EventDispatcherInterface::class, 'event_dispatcher')
|
||||
->alias(PsrEventDispatcherInterface::class, 'event_dispatcher')
|
||||
|
||||
->set('http_kernel', HttpKernel::class)
|
||||
->public()
|
||||
@@ -81,6 +91,7 @@ return static function (ContainerConfigurator $container) {
|
||||
service('controller_resolver'),
|
||||
service('request_stack'),
|
||||
service('argument_resolver'),
|
||||
false,
|
||||
])
|
||||
->tag('container.hot_path')
|
||||
->tag('container.preload', ['class' => HttpKernelRunner::class])
|
||||
@@ -110,7 +121,7 @@ return static function (ContainerConfigurator $container) {
|
||||
->set('url_helper', UrlHelper::class)
|
||||
->args([
|
||||
service('request_stack'),
|
||||
service('router.request_context')->ignoreOnInvalid(),
|
||||
service('router')->ignoreOnInvalid(),
|
||||
])
|
||||
->alias(UrlHelper::class, 'url_helper')
|
||||
|
||||
@@ -124,11 +135,9 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('container.no_preload')
|
||||
|
||||
->set('cache_clearer', ChainCacheClearer::class)
|
||||
->public()
|
||||
->args([
|
||||
tagged_iterator('kernel.cache_clearer'),
|
||||
])
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
|
||||
->set('kernel')
|
||||
->synthetic()
|
||||
@@ -136,8 +145,6 @@ return static function (ContainerConfigurator $container) {
|
||||
->alias(KernelInterface::class, 'kernel')
|
||||
|
||||
->set('filesystem', Filesystem::class)
|
||||
->public()
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
->alias(Filesystem::class, 'filesystem')
|
||||
|
||||
->set('file_locator', FileLocator::class)
|
||||
@@ -151,6 +158,8 @@ return static function (ContainerConfigurator $container) {
|
||||
param('kernel.secret'),
|
||||
])
|
||||
->alias(UriSigner::class, 'uri_signer')
|
||||
->alias(HttpKernelUriSigner::class, 'uri_signer')
|
||||
->deprecate('symfony/framework-bundle', '6.4', 'The "%alias_id%" alias is deprecated, use "'.UriSigner::class.'" instead.')
|
||||
|
||||
->set('config_cache_factory', ResourceCheckerConfigCacheFactory::class)
|
||||
->args([
|
||||
@@ -204,6 +213,14 @@ return static function (ContainerConfigurator $container) {
|
||||
])
|
||||
->tag('routing.expression_language_function', ['function' => 'env'])
|
||||
|
||||
->set('container.get_routing_condition_service', \Closure::class)
|
||||
->public()
|
||||
->factory([\Closure::class, 'fromCallable'])
|
||||
->args([
|
||||
[tagged_locator('routing.condition_service', 'alias'), 'get'],
|
||||
])
|
||||
->tag('routing.expression_language_function', ['function' => 'service'])
|
||||
|
||||
// inherit from this service to lazily access env vars
|
||||
->set('container.env', LazyString::class)
|
||||
->abstract()
|
||||
@@ -214,5 +231,15 @@ return static function (ContainerConfigurator $container) {
|
||||
->set('config_builder.warmer', ConfigBuilderCacheWarmer::class)
|
||||
->args([service(KernelInterface::class), service('logger')->nullOnInvalid()])
|
||||
->tag('kernel.cache_warmer')
|
||||
|
||||
->set('clock', Clock::class)
|
||||
->alias(ClockInterface::class, 'clock')
|
||||
->alias(PsrClockInterface::class, 'clock')
|
||||
|
||||
// register as abstract and excluded, aka not-autowirable types
|
||||
->set(LoaderInterface::class)->abstract()->tag('container.excluded')
|
||||
->set(Request::class)->abstract()->tag('container.excluded')
|
||||
->set(Response::class)->abstract()->tag('container.excluded')
|
||||
->set(SessionInterface::class)->abstract()->tag('container.excluded')
|
||||
;
|
||||
};
|
||||
|
||||
@@ -11,14 +11,7 @@
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Session\DeprecatedSessionFactory;
|
||||
use Symfony\Bundle\FrameworkBundle\Session\ServiceSessionFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
|
||||
use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
|
||||
use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface;
|
||||
use Symfony\Component\HttpFoundation\Session\Session;
|
||||
use Symfony\Component\HttpFoundation\Session\SessionFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\Handler\AbstractSessionHandler;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\Handler\IdentityMarshaller;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\Handler\MarshallingSessionHandler;
|
||||
@@ -26,21 +19,15 @@ use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHa
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\Handler\SessionHandlerFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\MetadataBag;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorage;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorageFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorageFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorage;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorageFactory;
|
||||
use Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface;
|
||||
use Symfony\Component\HttpKernel\EventListener\SessionListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()->set('session.metadata.storage_key', '_sf2_meta');
|
||||
|
||||
$container->services()
|
||||
->set('.session.do-not-use', Session::class) // to be removed in 6.0
|
||||
->factory([service('session.factory'), 'createSession'])
|
||||
->set('session.factory', SessionFactory::class)
|
||||
->args([
|
||||
service('request_stack'),
|
||||
@@ -79,59 +66,13 @@ return static function (ContainerConfigurator $container) {
|
||||
param('session.metadata.update_threshold'),
|
||||
]),
|
||||
])
|
||||
->set('session.storage.factory.service', ServiceSessionFactory::class)
|
||||
->args([
|
||||
service('session.storage'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, use "session.storage.factory.native", "session.storage.factory.php_bridge" or "session.storage.factory.mock_file" instead.')
|
||||
|
||||
->set('.session.deprecated', SessionInterface::class) // to be removed in 6.0
|
||||
->factory([inline_service(DeprecatedSessionFactory::class)->args([service('request_stack')]), 'getSession'])
|
||||
->alias(SessionInterface::class, '.session.do-not-use')
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%alias_id%" and "SessionInterface" aliases are deprecated, use "$requestStack->getSession()" instead.')
|
||||
->alias(SessionStorageInterface::class, 'session.storage')
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%alias_id%" alias is deprecated, use "session.storage.factory" instead.')
|
||||
->alias(\SessionHandlerInterface::class, 'session.handler')
|
||||
|
||||
->set('session.storage.metadata_bag', MetadataBag::class)
|
||||
->set('session.handler.native', StrictSessionHandler::class)
|
||||
->args([
|
||||
param('session.metadata.storage_key'),
|
||||
param('session.metadata.update_threshold'),
|
||||
inline_service(\SessionHandler::class),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, create your own "session.storage.factory" instead.')
|
||||
|
||||
->set('session.storage.native', NativeSessionStorage::class)
|
||||
->args([
|
||||
param('session.storage.options'),
|
||||
service('session.handler'),
|
||||
service('session.storage.metadata_bag'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, use "session.storage.factory.native" instead.')
|
||||
|
||||
->set('session.storage.php_bridge', PhpBridgeSessionStorage::class)
|
||||
->args([
|
||||
service('session.handler'),
|
||||
service('session.storage.metadata_bag'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, use "session.storage.factory.php_bridge" instead.')
|
||||
|
||||
->set('session.flash_bag', FlashBag::class)
|
||||
->factory([service('.session.do-not-use'), 'getFlashBag'])
|
||||
->deprecate('symfony/framework-bundle', '5.1', 'The "%service_id%" service is deprecated, use "$session->getFlashBag()" instead.')
|
||||
->alias(FlashBagInterface::class, 'session.flash_bag')
|
||||
|
||||
->set('session.attribute_bag', AttributeBag::class)
|
||||
->factory([service('.session.do-not-use'), 'getBag'])
|
||||
->args(['attributes'])
|
||||
->deprecate('symfony/framework-bundle', '5.1', 'The "%service_id%" service is deprecated, use "$session->getAttributeBag()" instead.')
|
||||
|
||||
->set('session.storage.mock_file', MockFileSessionStorage::class)
|
||||
->args([
|
||||
param('kernel.cache_dir').'/sessions',
|
||||
'MOCKSESSID',
|
||||
service('session.storage.metadata_bag'),
|
||||
])
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%service_id%" service is deprecated, use "session.storage.factory.mock_file" instead.')
|
||||
|
||||
->set('session.handler.native_file', StrictSessionHandler::class)
|
||||
->args([
|
||||
@@ -141,14 +82,12 @@ return static function (ContainerConfigurator $container) {
|
||||
|
||||
->set('session.abstract_handler', AbstractSessionHandler::class)
|
||||
->factory([SessionHandlerFactory::class, 'createHandler'])
|
||||
->args([abstract_arg('A string or a connection object')])
|
||||
->args([abstract_arg('A string or a connection object'), []])
|
||||
|
||||
->set('session_listener', SessionListener::class)
|
||||
->args([
|
||||
service_locator([
|
||||
'session_factory' => service('session.factory')->ignoreOnInvalid(),
|
||||
'session' => service('.session.do-not-use')->ignoreOnInvalid(),
|
||||
'initialized_session' => service('.session.do-not-use')->ignoreOnUninitialized(),
|
||||
'logger' => service('logger')->ignoreOnInvalid(),
|
||||
'session_collector' => service('data_collector.request.session_collector')->ignoreOnInvalid(),
|
||||
]),
|
||||
@@ -158,10 +97,6 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
|
||||
// for BC
|
||||
->alias('session.storage.filesystem', 'session.storage.mock_file')
|
||||
->deprecate('symfony/framework-bundle', '5.3', 'The "%alias_id%" alias is deprecated, use "session.storage.factory.mock_file" instead.')
|
||||
|
||||
->set('session.marshaller', IdentityMarshaller::class)
|
||||
|
||||
->set('session.marshalling_handler', MarshallingSessionHandler::class)
|
||||
|
||||
@@ -38,7 +38,6 @@ return static function (ContainerConfigurator $container) {
|
||||
->set('test.session.listener', SessionListener::class)
|
||||
->args([
|
||||
service_locator([
|
||||
'session' => service('.session.do-not-use')->ignoreOnInvalid(),
|
||||
'session_factory' => service('session.factory')->ignoreOnInvalid(),
|
||||
]),
|
||||
param('kernel.debug'),
|
||||
|
||||
@@ -26,7 +26,11 @@ use Symfony\Component\Translation\Dumper\XliffFileDumper;
|
||||
use Symfony\Component\Translation\Dumper\YamlFileDumper;
|
||||
use Symfony\Component\Translation\Extractor\ChainExtractor;
|
||||
use Symfony\Component\Translation\Extractor\ExtractorInterface;
|
||||
use Symfony\Component\Translation\Extractor\PhpAstExtractor;
|
||||
use Symfony\Component\Translation\Extractor\PhpExtractor;
|
||||
use Symfony\Component\Translation\Extractor\Visitor\ConstraintVisitor;
|
||||
use Symfony\Component\Translation\Extractor\Visitor\TranslatableMessageVisitor;
|
||||
use Symfony\Component\Translation\Extractor\Visitor\TransMethodVisitor;
|
||||
use Symfony\Component\Translation\Formatter\MessageFormatter;
|
||||
use Symfony\Component\Translation\Loader\CsvFileLoader;
|
||||
use Symfony\Component\Translation\Loader\IcuDatFileLoader;
|
||||
@@ -39,11 +43,13 @@ use Symfony\Component\Translation\Loader\PoFileLoader;
|
||||
use Symfony\Component\Translation\Loader\QtFileLoader;
|
||||
use Symfony\Component\Translation\Loader\XliffFileLoader;
|
||||
use Symfony\Component\Translation\Loader\YamlFileLoader;
|
||||
use Symfony\Component\Translation\LocaleSwitcher;
|
||||
use Symfony\Component\Translation\LoggingTranslator;
|
||||
use Symfony\Component\Translation\Reader\TranslationReader;
|
||||
use Symfony\Component\Translation\Reader\TranslationReaderInterface;
|
||||
use Symfony\Component\Translation\Writer\TranslationWriter;
|
||||
use Symfony\Component\Translation\Writer\TranslationWriterInterface;
|
||||
use Symfony\Contracts\Translation\LocaleAwareInterface;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
@@ -114,6 +120,10 @@ return static function (ContainerConfigurator $container) {
|
||||
->set('translation.dumper.xliff', XliffFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'xlf'])
|
||||
|
||||
->set('translation.dumper.xliff.xliff', XliffFileDumper::class)
|
||||
->args(['xliff'])
|
||||
->tag('translation.dumper', ['alias' => 'xliff'])
|
||||
|
||||
->set('translation.dumper.po', PoFileDumper::class)
|
||||
->tag('translation.dumper', ['alias' => 'po'])
|
||||
|
||||
@@ -143,8 +153,22 @@ return static function (ContainerConfigurator $container) {
|
||||
->tag('translation.dumper', ['alias' => 'res'])
|
||||
|
||||
->set('translation.extractor.php', PhpExtractor::class)
|
||||
->deprecate('symfony/framework-bundle', '6.2', 'The "%service_id%" service is deprecated, use "translation.extractor.php_ast" instead.')
|
||||
->tag('translation.extractor', ['alias' => 'php'])
|
||||
|
||||
->set('translation.extractor.php_ast', PhpAstExtractor::class)
|
||||
->args([tagged_iterator('translation.extractor.visitor')])
|
||||
->tag('translation.extractor', ['alias' => 'php'])
|
||||
|
||||
->set('translation.extractor.visitor.trans_method', TransMethodVisitor::class)
|
||||
->tag('translation.extractor.visitor')
|
||||
|
||||
->set('translation.extractor.visitor.translatable_message', TranslatableMessageVisitor::class)
|
||||
->tag('translation.extractor.visitor')
|
||||
|
||||
->set('translation.extractor.visitor.constraint', ConstraintVisitor::class)
|
||||
->tag('translation.extractor.visitor')
|
||||
|
||||
->set('translation.reader', TranslationReader::class)
|
||||
->alias(TranslationReaderInterface::class, 'translation.reader')
|
||||
|
||||
@@ -158,5 +182,16 @@ return static function (ContainerConfigurator $container) {
|
||||
->args([service(ContainerInterface::class)])
|
||||
->tag('container.service_subscriber', ['id' => 'translator'])
|
||||
->tag('kernel.cache_warmer')
|
||||
|
||||
->set('translation.locale_switcher', LocaleSwitcher::class)
|
||||
->args([
|
||||
param('kernel.default_locale'),
|
||||
tagged_iterator('kernel.locale_aware', exclude: 'translation.locale_switcher'),
|
||||
service('router.request_context')->ignoreOnInvalid(),
|
||||
])
|
||||
->tag('kernel.reset', ['method' => 'reset'])
|
||||
->tag('kernel.locale_aware')
|
||||
->alias(LocaleAwareInterface::class, 'translation.locale_switcher')
|
||||
->alias(LocaleSwitcher::class, 'translation.locale_switcher')
|
||||
;
|
||||
};
|
||||
|
||||
@@ -14,6 +14,7 @@ namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
use Symfony\Component\Translation\Bridge\Crowdin\CrowdinProviderFactory;
|
||||
use Symfony\Component\Translation\Bridge\Loco\LocoProviderFactory;
|
||||
use Symfony\Component\Translation\Bridge\Lokalise\LokaliseProviderFactory;
|
||||
use Symfony\Component\Translation\Bridge\Phrase\PhraseProviderFactory;
|
||||
use Symfony\Component\Translation\Provider\NullProviderFactory;
|
||||
use Symfony\Component\Translation\Provider\TranslationProviderCollection;
|
||||
use Symfony\Component\Translation\Provider\TranslationProviderCollectionFactory;
|
||||
@@ -51,6 +52,7 @@ return static function (ContainerConfigurator $container) {
|
||||
service('logger'),
|
||||
param('kernel.default_locale'),
|
||||
service('translation.loader.xliff'),
|
||||
service('translator'),
|
||||
])
|
||||
->tag('translation.provider_factory')
|
||||
|
||||
@@ -62,5 +64,16 @@ return static function (ContainerConfigurator $container) {
|
||||
service('translation.loader.xliff'),
|
||||
])
|
||||
->tag('translation.provider_factory')
|
||||
|
||||
->set('translation.provider_factory.phrase', PhraseProviderFactory::class)
|
||||
->args([
|
||||
service('http_client'),
|
||||
service('logger'),
|
||||
service('translation.loader.xliff'),
|
||||
service('translation.dumper.xliff'),
|
||||
service('cache.app'),
|
||||
param('kernel.default_locale'),
|
||||
])
|
||||
->tag('translation.provider_factory')
|
||||
;
|
||||
};
|
||||
|
||||
@@ -15,8 +15,11 @@ use Symfony\Bundle\FrameworkBundle\CacheWarmer\ValidatorCacheWarmer;
|
||||
use Symfony\Component\Cache\Adapter\PhpArrayAdapter;
|
||||
use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
|
||||
use Symfony\Component\Validator\Constraints\EmailValidator;
|
||||
use Symfony\Component\Validator\Constraints\ExpressionLanguageProvider;
|
||||
use Symfony\Component\Validator\Constraints\ExpressionValidator;
|
||||
use Symfony\Component\Validator\Constraints\NoSuspiciousCharactersValidator;
|
||||
use Symfony\Component\Validator\Constraints\NotCompromisedPasswordValidator;
|
||||
use Symfony\Component\Validator\Constraints\WhenValidator;
|
||||
use Symfony\Component\Validator\ContainerConstraintValidatorFactory;
|
||||
use Symfony\Component\Validator\Mapping\Loader\PropertyInfoLoader;
|
||||
use Symfony\Component\Validator\Validation;
|
||||
@@ -27,11 +30,11 @@ return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()
|
||||
->set('validator.mapping.cache.file', param('kernel.cache_dir').'/validation.php');
|
||||
|
||||
$validatorsDir = \dirname((new \ReflectionClass(EmailValidator::class))->getFileName());
|
||||
|
||||
$container->services()
|
||||
->set('validator', ValidatorInterface::class)
|
||||
->public()
|
||||
->factory([service('validator.builder'), 'getValidator'])
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.2'])
|
||||
->alias(ValidatorInterface::class, 'validator')
|
||||
|
||||
->set('validator.builder', ValidatorBuilder::class)
|
||||
@@ -39,6 +42,9 @@ return static function (ContainerConfigurator $container) {
|
||||
->call('setConstraintValidatorFactory', [
|
||||
service('validator.validator_factory'),
|
||||
])
|
||||
->call('setGroupProviderLocator', [
|
||||
tagged_locator('validator.group_provider'),
|
||||
])
|
||||
->call('setTranslator', [
|
||||
service('translator')->ignoreOnInvalid(),
|
||||
])
|
||||
@@ -66,6 +72,12 @@ return static function (ContainerConfigurator $container) {
|
||||
abstract_arg('Constraint validators locator'),
|
||||
])
|
||||
|
||||
->load('Symfony\Component\Validator\Constraints\\', $validatorsDir.'/*Validator.php')
|
||||
->exclude($validatorsDir.'/ExpressionLanguageSyntaxValidator.php')
|
||||
->abstract()
|
||||
->tag('container.excluded')
|
||||
->tag('validator.constraint_validator')
|
||||
|
||||
->set('validator.expression', ExpressionValidator::class)
|
||||
->args([service('validator.expression_language')->nullOnInvalid()])
|
||||
->tag('validator.constraint_validator', [
|
||||
@@ -74,18 +86,21 @@ return static function (ContainerConfigurator $container) {
|
||||
|
||||
->set('validator.expression_language', ExpressionLanguage::class)
|
||||
->args([service('cache.validator_expression_language')->nullOnInvalid()])
|
||||
->call('registerProvider', [
|
||||
service('validator.expression_language_provider')->ignoreOnInvalid(),
|
||||
])
|
||||
|
||||
->set('cache.validator_expression_language')
|
||||
->parent('cache.system')
|
||||
->tag('cache.pool')
|
||||
|
||||
->set('validator.expression_language_provider', ExpressionLanguageProvider::class)
|
||||
|
||||
->set('validator.email', EmailValidator::class)
|
||||
->args([
|
||||
abstract_arg('Default mode'),
|
||||
])
|
||||
->tag('validator.constraint_validator', [
|
||||
'alias' => EmailValidator::class,
|
||||
])
|
||||
->tag('validator.constraint_validator')
|
||||
|
||||
->set('validator.not_compromised_password', NotCompromisedPasswordValidator::class)
|
||||
->args([
|
||||
@@ -93,8 +108,16 @@ return static function (ContainerConfigurator $container) {
|
||||
param('kernel.charset'),
|
||||
false,
|
||||
])
|
||||
->tag('validator.constraint_validator')
|
||||
|
||||
->set('validator.when', WhenValidator::class)
|
||||
->args([service('validator.expression_language')->nullOnInvalid()])
|
||||
->tag('validator.constraint_validator')
|
||||
|
||||
->set('validator.no_suspicious_characters', NoSuspiciousCharactersValidator::class)
|
||||
->args([param('kernel.enabled_locales')])
|
||||
->tag('validator.constraint_validator', [
|
||||
'alias' => NotCompromisedPasswordValidator::class,
|
||||
'alias' => NoSuspiciousCharactersValidator::class,
|
||||
])
|
||||
|
||||
->set('validator.property_info_loader', PropertyInfoLoader::class)
|
||||
|
||||
@@ -11,21 +11,28 @@
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\TemplateController;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\BackedEnumValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\DateTimeValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\DefaultValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\QueryParameterValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestPayloadValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\ServiceValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\SessionValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\UidValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\VariadicValueResolver;
|
||||
use Symfony\Component\HttpKernel\Controller\ErrorController;
|
||||
use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory;
|
||||
use Symfony\Component\HttpKernel\EventListener\CacheAttributeListener;
|
||||
use Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener;
|
||||
use Symfony\Component\HttpKernel\EventListener\ErrorListener;
|
||||
use Symfony\Component\HttpKernel\EventListener\LocaleListener;
|
||||
use Symfony\Component\HttpKernel\EventListener\ResponseListener;
|
||||
use Symfony\Component\HttpKernel\EventListener\StreamedResponseListener;
|
||||
use Symfony\Component\HttpKernel\EventListener\ValidateRequestListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
@@ -35,6 +42,7 @@ return static function (ContainerConfigurator $container) {
|
||||
service('service_container'),
|
||||
service('logger')->ignoreOnInvalid(),
|
||||
])
|
||||
->call('allowControllers', [[AbstractController::class, TemplateController::class]])
|
||||
->tag('monolog.logger', ['channel' => 'request'])
|
||||
|
||||
->set('argument_metadata_factory', ArgumentMetadataFactory::class)
|
||||
@@ -43,28 +51,54 @@ return static function (ContainerConfigurator $container) {
|
||||
->args([
|
||||
service('argument_metadata_factory'),
|
||||
abstract_arg('argument value resolvers'),
|
||||
abstract_arg('targeted value resolvers'),
|
||||
])
|
||||
|
||||
->set('argument_resolver.backed_enum_resolver', BackedEnumValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => 100, 'name' => BackedEnumValueResolver::class])
|
||||
|
||||
->set('argument_resolver.uid', UidValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => 100, 'name' => UidValueResolver::class])
|
||||
|
||||
->set('argument_resolver.datetime', DateTimeValueResolver::class)
|
||||
->args([
|
||||
service('clock')->nullOnInvalid(),
|
||||
])
|
||||
->tag('controller.argument_value_resolver', ['priority' => 100, 'name' => DateTimeValueResolver::class])
|
||||
|
||||
->set('argument_resolver.request_payload', RequestPayloadValueResolver::class)
|
||||
->args([
|
||||
service('serializer'),
|
||||
service('validator')->nullOnInvalid(),
|
||||
service('translator')->nullOnInvalid(),
|
||||
])
|
||||
->tag('controller.targeted_value_resolver', ['name' => RequestPayloadValueResolver::class])
|
||||
->tag('kernel.event_subscriber')
|
||||
->lazy()
|
||||
|
||||
->set('argument_resolver.request_attribute', RequestAttributeValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => 100])
|
||||
->tag('controller.argument_value_resolver', ['priority' => 100, 'name' => RequestAttributeValueResolver::class])
|
||||
|
||||
->set('argument_resolver.request', RequestValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => 50])
|
||||
->tag('controller.argument_value_resolver', ['priority' => 50, 'name' => RequestValueResolver::class])
|
||||
|
||||
->set('argument_resolver.session', SessionValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => 50])
|
||||
->tag('controller.argument_value_resolver', ['priority' => 50, 'name' => SessionValueResolver::class])
|
||||
|
||||
->set('argument_resolver.service', ServiceValueResolver::class)
|
||||
->args([
|
||||
abstract_arg('service locator, set in RegisterControllerArgumentLocatorsPass'),
|
||||
])
|
||||
->tag('controller.argument_value_resolver', ['priority' => -50])
|
||||
->tag('controller.argument_value_resolver', ['priority' => -50, 'name' => ServiceValueResolver::class])
|
||||
|
||||
->set('argument_resolver.default', DefaultValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => -100])
|
||||
->tag('controller.argument_value_resolver', ['priority' => -100, 'name' => DefaultValueResolver::class])
|
||||
|
||||
->set('argument_resolver.variadic', VariadicValueResolver::class)
|
||||
->tag('controller.argument_value_resolver', ['priority' => -150])
|
||||
->tag('controller.argument_value_resolver', ['priority' => -150, 'name' => VariadicValueResolver::class])
|
||||
|
||||
->set('argument_resolver.query_parameter_value_resolver', QueryParameterValueResolver::class)
|
||||
->tag('controller.targeted_value_resolver', ['name' => QueryParameterValueResolver::class])
|
||||
|
||||
->set('response_listener', ResponseListener::class)
|
||||
->args([
|
||||
@@ -73,9 +107,6 @@ return static function (ContainerConfigurator $container) {
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('streamed_response_listener', StreamedResponseListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('locale_listener', LocaleListener::class)
|
||||
->args([
|
||||
service('request_stack'),
|
||||
@@ -109,5 +140,9 @@ return static function (ContainerConfigurator $container) {
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
->tag('monolog.logger', ['channel' => 'request'])
|
||||
|
||||
->set('controller.cache_attribute_listener', CacheAttributeListener::class)
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
;
|
||||
};
|
||||
|
||||
@@ -12,10 +12,18 @@
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\WebLink\EventListener\AddLinkHeaderListener;
|
||||
use Symfony\Component\WebLink\HttpHeaderSerializer;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
|
||||
->set('web_link.http_header_serializer', HttpHeaderSerializer::class)
|
||||
->alias(HttpHeaderSerializer::class, 'web_link.http_header_serializer')
|
||||
|
||||
->set('web_link.add_link_header_listener', AddLinkHeaderListener::class)
|
||||
->args([
|
||||
service('web_link.http_header_serializer'),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
;
|
||||
};
|
||||
|
||||
57
lib/symfony/framework-bundle/Resources/config/webhook.php
Normal file
57
lib/symfony/framework-bundle/Resources/config/webhook.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Webhook\Client\RequestParser;
|
||||
use Symfony\Component\Webhook\Controller\WebhookController;
|
||||
use Symfony\Component\Webhook\Messenger\SendWebhookHandler;
|
||||
use Symfony\Component\Webhook\Server\HeadersConfigurator;
|
||||
use Symfony\Component\Webhook\Server\HeaderSignatureConfigurator;
|
||||
use Symfony\Component\Webhook\Server\JsonBodyConfigurator;
|
||||
use Symfony\Component\Webhook\Server\Transport;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('webhook.transport', Transport::class)
|
||||
->args([
|
||||
service('http_client'),
|
||||
service('webhook.headers_configurator'),
|
||||
service('webhook.body_configurator.json'),
|
||||
service('webhook.signer'),
|
||||
])
|
||||
|
||||
->set('webhook.headers_configurator', HeadersConfigurator::class)
|
||||
|
||||
->set('webhook.body_configurator.json', JsonBodyConfigurator::class)
|
||||
->args([
|
||||
service('serializer'),
|
||||
])
|
||||
|
||||
->set('webhook.signer', HeaderSignatureConfigurator::class)
|
||||
|
||||
->set('webhook.messenger.send_handler', SendWebhookHandler::class)
|
||||
->args([
|
||||
service('webhook.transport'),
|
||||
])
|
||||
->tag('messenger.message_handler')
|
||||
|
||||
->set('webhook.request_parser', RequestParser::class)
|
||||
->alias(RequestParser::class, 'webhook.request_parser')
|
||||
|
||||
->set('webhook.controller', WebhookController::class)
|
||||
->public()
|
||||
->args([
|
||||
abstract_arg('user defined parsers'),
|
||||
abstract_arg('message bus'),
|
||||
])
|
||||
;
|
||||
};
|
||||
@@ -28,8 +28,6 @@ return static function (ContainerConfigurator $container) {
|
||||
abstract_arg('events to dispatch'),
|
||||
])
|
||||
->abstract()
|
||||
->public()
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.3'])
|
||||
->set('state_machine.abstract', StateMachine::class)
|
||||
->args([
|
||||
abstract_arg('workflow definition'),
|
||||
@@ -39,8 +37,6 @@ return static function (ContainerConfigurator $container) {
|
||||
abstract_arg('events to dispatch'),
|
||||
])
|
||||
->abstract()
|
||||
->public()
|
||||
->tag('container.private', ['package' => 'symfony/framework-bundle', 'version' => '5.3'])
|
||||
->set('workflow.marking_store.method', MethodMarkingStore::class)
|
||||
->abstract()
|
||||
->set('workflow.registry', Registry::class)
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Component\Workflow\DataCollector\WorkflowDataCollector;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->services()
|
||||
->set('data_collector.workflow', WorkflowDataCollector::class)
|
||||
->tag('data_collector', [
|
||||
'template' => '@WebProfiler/Collector/workflow.html.twig',
|
||||
'id' => 'workflow',
|
||||
])
|
||||
->args([
|
||||
tagged_iterator('workflow', 'name'),
|
||||
service('event_dispatcher'),
|
||||
service('debug.file_link_formatter'),
|
||||
])
|
||||
;
|
||||
};
|
||||
Reference in New Issue
Block a user