/** * @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; }
/** * StatisticsResponse constructor. * * @param string $type * @param StatisticsRequest $request * @param mixed $response */ public function __construct($type, $request, $response) { $payload = new \stdClass(); $payload->request = $request; $payload->response = $response; parent::__construct($type, $payload); }
/** * AuthenticationRequest constructor. * * @param string $accessToken */ public function __construct($accessToken) { if (!is_string($accessToken)) { throw new MalformedRequestException('Malformed access token'); } parent::__construct(self::TYPE_AUTHENTICATION_REQUEST, $accessToken); }
/** * UsersRequest constructor. * * @param string $instanceName * * @throws MalformedRequestException */ public function __construct($instanceName) { if (!is_string($instanceName)) { throw new MalformedRequestException('Missing required parameter "instanceName"'); } parent::__construct(self::TYPE_USERS_REQUEST, $instanceName); }
/** * @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; }
/** * StatisticsRequest constructor. * * @param string $type * @param \stdClass $parameters * * @throws MalformedRequestException */ public function __construct($type, $parameters) { parent::__construct($type, $parameters); /* @var \stdClass $parameters */ if (!isset($parameters->instanceName) || empty($parameters->instanceName)) { throw new MalformedRequestException('Missing mandatory "instanceName" parameter'); } $this->_instanceName = $parameters->instanceName; if (isset($parameters->timeFrame)) { $this->_timeFrame = new TimeFrame($parameters->timeFrame); } else { $this->_timeFrame = new TimeFrame(TimeFrame::TIME_FRAME_ALL_TIME); } }
/** * StatusUpdatesMessage constructor. * * @param InstanceStatusCollection $collection */ public function __construct(InstanceStatusCollection $collection) { parent::__construct(self::TYPE_STATUS_UPDATES, $collection); }
/** * @inheritdoc */ public function __construct() { parent::__construct(self::TYPE_INSTANCES_REQUEST, null); }
/** * AuthenticationResponse constructor. * * @param string $status */ public function __construct($status) { parent::__construct(AbstractMessage::TYPE_AUTHENTICATION_RESPONSE, $status); }
/** * UsersResponse constructor. * * @param User[] $users */ public function __construct(array $users) { parent::__construct(self::TYPE_USERS_RESPONSE, $users); }
/** * InstancesResponse constructor. * * @param Instance[] $instances */ public function __construct(array $instances) { parent::__construct(self::TYPE_INSTANCES_RESPONSE, $instances); }
/** * @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); }