/** * Resolve the matching validator instance. * * @param \FluxBB\Server\Request $request * @return \FluxBB\Core\Validator|null */ protected function resolveValidator(Request $request) { if (!isset($this->validators[$request->getHandler()])) { return null; } try { $validatorClass = $this->validators[$request->getHandler()]; return $this->container->make($validatorClass); } catch (BindingResolutionException $e) { return null; } }
/** * Validate the given request. * * Should throw an exception if validation fails. * * @param \FluxBB\Server\Request $request * @return void * @throws \FluxBB\Server\Exception\ValidationFailed */ public function validate(Request $request) { $this->ensureValid($request->getParameters()); }
/** * Resolve the request and return a response. * * @param \FluxBB\Server\Request $request * @return \FluxBB\Server\Response * @throws \FluxBB\Server\Exception\Exception */ public function dispatch(Request $request) { // Create the action instance $action = $this->resolveAction($request->getHandler()); return $action->execute($request->getParameters()); }
/** * Validate the given request. * * Should throw an exception if validation fails. * * @param \FluxBB\Server\Request $request * @return void * @throws \FluxBB\Server\Exception\ValidationFailed */ public function validate(Request $request) { $options = $request->getParameters(); $this->ensureAllInRules($options)->ensureValid($options); }