/** * @inheritdoc */ public function handleMessage(AbstractMessage $message, ConnectionInterface $sender) { // Only handle one type of request if ($message->getType() === AbstractMessage::TYPE_USERS_REQUEST) { return new UsersResponse([]); } return false; }
/** * @inheritdoc */ public function handleMessage(AbstractMessage $message, ConnectionInterface $sender) { // Wrap database exceptions in the more generic RequestFailedException try { switch ($message->getType()) { case AbstractMessage::TYPE_POPULAR_CHANNELS_REQUEST: /* @var PopularChannelsRequest $message */ return new PopularChannelsResponse($message, $this->getPopularChannels($message->getInstanceName(), $message->getUserName(), $message->getLimit(), $message->getTimeFrame())); case AbstractMessage::TYPE_MOST_ACTIVE_WATCHERS_REQUEST: /* @var MostActiveWatchersRequest $message */ return new MostActiveWatchersResponse($message, $this->getMostActiveWatchers($message->getInstanceName(), $message->getLimit(), $message->getTimeFrame())); case AbstractMessage::TYPE_INSTANCES_REQUEST: /* @var InstancesRequest $message */ return new InstancesResponse($this->configuration->getInstances()); case AbstractMessage::TYPE_USERS_REQUEST: /* @var UsersRequest $message */ return new UsersResponse($this->getUsers($message->getInstanceName())); } } catch (PropelException $e) { throw new RequestFailedException('A database error occured: ' . $e->getMessage()); } return false; }
/** * @inheritdoc */ public function handleMessage(AbstractMessage $message, ConnectionInterface $sender) { if ($message->getType() !== AbstractMessage::TYPE_AUTHENTICATION_REQUEST) { return false; } /* @var AuthenticationRequest $message */ $status = AuthenticationResponse::STATUS_FAILURE; // Add the sender to the list of authenticated clients if ($message->getAccessToken() === $this->configuration->getAccessToken()) { $status = AuthenticationResponse::STATUS_SUCCESS; $this->_authenticatedClients->attach($sender); $this->logger->notice('Client authenticated successfully'); } else { $this->logger->warning('Got invalid authentication request from client'); } return new AuthenticationResponse($status); }