private const DEFAULT_LOCK_FACTORY = 'lock.factory';
public function process(ContainerBuilder
$container): void
{ $rateLimiter =
$container->
getDefinition(RateLimiter::
class);
/** @var array<string, array<string, string>> $rateLimiterConfig */
$rateLimiterConfig =
$container->
getParameter('shopware.api.rate_limiter'
);
foreach ($rateLimiterConfig as $name =>
$config) { $this->
setConfigDefaults($config);
$def =
new Definition(RateLimiterFactory::
class);
$def->
addArgument($config +
['id' =>
$name]); // config
$cacheDef =
new Definition(CacheStorage::
class);
$cacheDef->
addArgument(new Reference($config['cache_pool'
]));
$def->
addArgument($cacheDef);
$def->
addArgument(new Reference(SystemConfigService::
class));
$def->
addArgument(new Reference($config['lock_factory'
]));