eee
This commit is contained in:
+2
-1
@@ -5,6 +5,7 @@ namespace Kiri\Router;
|
|||||||
|
|
||||||
use Closure;
|
use Closure;
|
||||||
use Kiri;
|
use Kiri;
|
||||||
|
use Kiri\Router\Validator\ValidatorMiddleware;
|
||||||
use Kiri\Router\Base\Middleware as MiddlewareManager;
|
use Kiri\Router\Base\Middleware as MiddlewareManager;
|
||||||
use Kiri\Router\Constrict\RequestMethod;
|
use Kiri\Router\Constrict\RequestMethod;
|
||||||
use Psr\Container\ContainerInterface;
|
use Psr\Container\ContainerInterface;
|
||||||
@@ -194,7 +195,7 @@ class Router
|
|||||||
$middlewares = MiddlewareManager::get($method->getClass(), $method->getMethod());
|
$middlewares = MiddlewareManager::get($method->getClass(), $method->getMethod());
|
||||||
$validator = MiddlewareManager::getValidator($method->getClass(), $method->getMethod());
|
$validator = MiddlewareManager::getValidator($method->getClass(), $method->getMethod());
|
||||||
if (!is_null($validator)) {
|
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));
|
$router->setHttpHandler($name, new HttpRequestHandler($middlewares, $method));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 ServerRequestInterface $request
|
||||||
* @param RequestHandlerInterface $handler
|
* @param RequestHandlerInterface $handler
|
||||||
@@ -24,7 +33,7 @@ class ValidatorMiddleware implements MiddlewareInterface
|
|||||||
*/
|
*/
|
||||||
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
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)) {
|
if (!$validator->run($request)) {
|
||||||
return di(ResponseInterface::class)->html($validator->error(), 415);
|
return di(ResponseInterface::class)->html($validator->error(), 415);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user