public function __construct(Request $request) { parent::__construct($request); if (empty($this->signature)) { throw InvalidHandler::signatureIsRequired(static::class); } $this->signatureIsBound = $this->bindSignature($this->signature); }
/** * @return \Spatie\SlashCommand\Handlers\BaseHandler * * @throws \Spatie\SlashCommand\Exceptions\RequestCouldNotBeHandled */ protected function determineHandler() { $handler = collect($this->config->get('handlers'))->map(function (string $handlerClassName) { if (!class_exists($handlerClassName)) { throw InvalidHandler::handlerDoesNotExist($handlerClassName); } return new $handlerClassName($this->request); })->filter(function (HandlesSlashCommand $handler) { return $handler->canHandle($this->request); })->first(); if (!$handler) { throw RequestCouldNotBeHandled::noHandlerFound($this->request); } return $handler; }