From 8811f2bcd6c9468127bc3c8741b42bf9e6b76956 Mon Sep 17 00:00:00 2001 From: xl Date: Thu, 29 Aug 2024 17:14:37 +0800 Subject: [PATCH] eee --- src/Router.php | 3 ++- src/Validator/ValidatorMiddleware.php | 11 ++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Router.php b/src/Router.php index 66fb7c8..f7dcec3 100644 --- a/src/Router.php +++ b/src/Router.php @@ -5,6 +5,7 @@ namespace Kiri\Router; use Closure; use Kiri; +use Kiri\Router\Validator\ValidatorMiddleware; use Kiri\Router\Base\Middleware as MiddlewareManager; use Kiri\Router\Constrict\RequestMethod; use Psr\Container\ContainerInterface; @@ -194,7 +195,7 @@ class Router $middlewares = MiddlewareManager::get($method->getClass(), $method->getMethod()); $validator = MiddlewareManager::getValidator($method->getClass(), $method->getMethod()); if (!is_null($validator)) { - $middlewares = array_unshift($middlewares, $validator); + $middlewares = array_unshift($middlewares, new ValidatorMiddleware($method->getClass(), $method->getMethod())); } $router->setHttpHandler($name, new HttpRequestHandler($middlewares, $method)); } diff --git a/src/Validator/ValidatorMiddleware.php b/src/Validator/ValidatorMiddleware.php index 4e6af06..4f37646 100644 --- a/src/Validator/ValidatorMiddleware.php +++ b/src/Validator/ValidatorMiddleware.php @@ -16,6 +16,15 @@ class ValidatorMiddleware implements MiddlewareInterface { + /** + * @param string $class + * @param string $method + */ + public function __construct(public string $class, public string $method) + { + } + + /** * @param ServerRequestInterface $request * @param RequestHandlerInterface $handler @@ -24,7 +33,7 @@ class ValidatorMiddleware implements MiddlewareInterface */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { - $validator = Middleware::getValidator($request->getMethod() . '::' . $request->getUri()->getPath()); + $validator = Middleware::getValidator($this->class, $this->method); if (!$validator->run($request)) { return di(ResponseInterface::class)->html($validator->error(), 415); } else {