verifyProVersion(); $this->validateToken($token); $request = App::getInstance('request'); return (new SlackNotification())->processSlackEvent($request->get('event')); } /** * @throws Exception * @return bool */ private function verifyProVersion () { if (!defined('FLUENTSUPPORTPRO')) { throw new \Exception('Slack Integration requires pro version of Fluent Support', 400); } return true; } /** * @param string $token * @throws Exception * @return bool */ private function validateToken ($token) { if (!hash_equals(\FluentSupportPro\App\Services\Integrations\Slack\SlackHelper::getWebhookToken(), $token)) { throw new \Exception('Bot Token could not be verified', 403); } return true; } }