Example #1
0
 /**
  * @param ServiceEvent $event
  */
 public function onServiceRequest(ServiceEvent $event)
 {
     /** @var Service $service */
     $service = $event->getService();
     if (!$service instanceof ServiceConfigurableInterface) {
         return;
     }
     if ($serviceConfig = $this->repository->findOneByServiceKey($service->getIdentifier())) {
         // Inject service configuration & client configuration
         $service->configure(array_merge($service->getOptions(), $serviceConfig->toOptions()));
         $service->getClient()->setNormalizedOptions(array_merge($service->getClient()->getOptions(), $serviceConfig->getClientConfig()->toOptions()));
     }
 }
Example #2
0
 /**
  * @param string $key
  *
  * @return \Itkg\ConsumerBundle\Document\ServiceConfig
  */
 public function findServiceConfig($key)
 {
     $config = $this->repository->findOneByServiceKey($key);
     if (null === $config) {
         $service = $this->findService($key);
         $config = $this->createNewServiceConfig();
         $config->fromOptions($service->getOptions());
         $config->getClientConfig()->fromOptions($service->getClient()->getNormalizedOptions());
         $config->setServiceKey($key);
     }
     return $config;
 }