This commit is contained in:
xl
2024-08-29 17:14:37 +08:00
parent 080cd6ab92
commit 8811f2bcd6
2 changed files with 12 additions and 2 deletions
+2 -1
View File
@@ -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));
}
+10 -1
View File
@@ -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 {