vendor/gos/web-socket-bundle/src/Pusher/ServerPushHandlerRegistry.php line 5

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Gos\Bundle\WebSocketBundle\Pusher;
  3. trigger_deprecation('gos/web-socket-bundle''3.1''The "%s" class is deprecated and will be removed in 4.0, use the symfony/messenger component instead.'ServerPushHandlerRegistry::class);
  4. /**
  5.  * @deprecated to be removed in 4.0, use the symfony/messenger component instead
  6.  */
  7. final class ServerPushHandlerRegistry
  8. {
  9.     /**
  10.      * @var ServerPushHandlerInterface[]
  11.      */
  12.     private array $pushHandlers = [];
  13.     public function addPushHandler(ServerPushHandlerInterface $handler): void
  14.     {
  15.         $this->pushHandlers[$handler->getName()] = $handler;
  16.     }
  17.     /**
  18.      * @throws \InvalidArgumentException if the requested push handler was not registered
  19.      */
  20.     public function getPushHandler(string $name): ServerPushHandlerInterface
  21.     {
  22.         if (!$this->hasPushHandler($name)) {
  23.             throw new \InvalidArgumentException(sprintf('A push handler named "%s" has not been registered.'$name));
  24.         }
  25.         return $this->pushHandlers[$name];
  26.     }
  27.     /**
  28.      * @return ServerPushHandlerInterface[]
  29.      */
  30.     public function getPushers(): array
  31.     {
  32.         return $this->pushHandlers;
  33.     }
  34.     public function hasPushHandler(string $name): bool
  35.     {
  36.         return isset($this->pushHandlers[$name]);
  37.     }
  38. }