private function processUrlConfigs(array $configs, ContainerBuilder $container) { foreach ($configs as $config) { $data = Decoder::decode($config['url']); $service = $this->resolver->createServiceDefinitions($data, $container, $config['prefix']); if (!is_string($service) || !$container->hasDefinition($service)) { throw new UrlResolveException("No service name returned or a non-existant service was returned"); } $data['service'] = $service; foreach ($config['encoders'] as $encoder) { if (!$this->encoderRegistry->hasEncoder($encoder)) { throw new EncodeException("No encoder with the name '{$encoder}' found"); } $this->encoderRegistry->getEncoder($encoder)->encode($data, $container, $config['prefix']); } } }