From 7baad428ec5bde9f2a9e8061a2ac7d01f111b4f6 Mon Sep 17 00:00:00 2001 From: KJ Date: Sun, 8 Sep 2024 14:43:56 -0400 Subject: [PATCH] Refactor request library. --- src/Libs/Request.php | 25 +++++++++++++++++++------ src/Libs/Router.php | 2 +- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/Libs/Request.php b/src/Libs/Request.php index ccc2cda..4a33e7b 100644 --- a/src/Libs/Request.php +++ b/src/Libs/Request.php @@ -53,11 +53,24 @@ class Request extends Neuron { } /** - * Inicia la validación que se haya configurado. + * Corre las validaciones e intenta continuar con la pila de callbacks. * * @return mixed */ - public function validate(): mixed + public function handle(): mixed + { + if ($this->validate()) + return Middleware::next($this); + + return null; + } + + /** + * Inicia la validación que se haya configurado. + * + * @return bool + */ + public function validate(): bool { $actual = match($_SERVER['REQUEST_METHOD']) { 'GET', 'DELETE' => $this->get, @@ -67,7 +80,7 @@ class Request extends Neuron { if (Validator::validateList(static::paramRules(), $this->params) && Validator::validateList(static::getRules(), $this->get ) && Validator::validateList(static::rules(), $actual)) - return Middleware::next($this); + return true; if (isset(static::messages()[Validator::$lastFailed])) $error = static::messages()[Validator::$lastFailed]; @@ -120,12 +133,12 @@ class Request extends Neuron { * * @param string $error * - * @return mixed + * @return false */ - protected function onInvalid(string $error): mixed + protected function onInvalid(string $error): false { http_response_code(422); print($error); - return null; + return false; } } diff --git a/src/Libs/Router.php b/src/Libs/Router.php index c9d1127..7e62152 100644 --- a/src/Libs/Router.php +++ b/src/Libs/Router.php @@ -356,7 +356,7 @@ class Router { // Llama a la validación y luego procesa la cola de callbacks $request->next = $router['callback']; - $data = $request->validate(); + $data = $request->handle(); // Por defecto imprime como JSON si se retorna algo if (isset($data)) {