This commit is contained in:
2021-08-19 10:57:45 +08:00
parent d2731aa8b9
commit 32d4d0f820
8 changed files with 40 additions and 17 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ use Http\Route\MiddlewareManager;
use ReflectionException; use ReflectionException;
use Kiri\Exception\NotFindClassException; use Kiri\Exception\NotFindClassException;
use Kiri\Kiri; use Kiri\Kiri;
use Http\IInterface\Middleware as IMiddleware; use Http\IInterface\MiddlewareInterface as IMiddleware;
/** /**
* Class Middleware * Class Middleware
+1 -1
View File
@@ -34,7 +34,7 @@ namespace App\Http\Middleware;
use Closure; use Closure;
use Http\Context\Request; use Http\Context\Request;
use Http\IInterface\Middleware; use Http\IInterface\MiddlewareInterface;
'; ';
+2 -2
View File
@@ -8,7 +8,7 @@ namespace Kiri\Jwt;
use Closure; use Closure;
use Exception; use Exception;
use Http\Context\Request; use Http\Context\Request;
use Http\IInterface\Middleware; use Http\IInterface\MiddlewareInterface;
use Server\RequestInterface; use Server\RequestInterface;
use Kiri\Kiri; use Kiri\Kiri;
@@ -17,7 +17,7 @@ use Kiri\Kiri;
* @package Kiri\Kiri\Route * @package Kiri\Kiri\Route
* 跨域中间件 * 跨域中间件
*/ */
class JWTAuthMiddleware implements Middleware class JWTAuthMiddleware implements MiddlewareInterface
{ {
@@ -6,21 +6,21 @@ namespace Http\IInterface;
use Closure; use Closure;
use Http\Context\Request; use Server\RequestInterface;
/** /**
* Interface IMiddleware * Interface IMiddleware
* @package Kiri\Kiri\Route * @package Kiri\Kiri\Route
*/ */
interface Middleware interface MiddlewareInterface
{ {
/** /**
* @param Request $request * @param RequestInterface $request
* @param Closure $next * @param Closure $next
* @return mixed * @return mixed
*/ */
public function onHandler(Request $request, Closure $next): mixed; public function onHandler(RequestInterface $request, Closure $next): mixed;
} }
+2 -4
View File
@@ -10,7 +10,7 @@ use Exception;
use Http\Context\Context; use Http\Context\Context;
use Http\Context\Request; use Http\Context\Request;
use Http\Context\Response; use Http\Context\Response;
use Http\IInterface\Middleware; use Http\IInterface\MiddlewareInterface;
use Server\RequestInterface; use Server\RequestInterface;
use Kiri\Kiri; use Kiri\Kiri;
@@ -19,12 +19,10 @@ use Kiri\Kiri;
* @package Kiri\Kiri\Route * @package Kiri\Kiri\Route
* 跨域中间件 * 跨域中间件
*/ */
class CoreMiddleware implements Middleware class CoreMiddleware extends MiddlewareAbstracts
{ {
/** @var int */
public int $zOrder = 0;
/** /**
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace Http\Route;
use Http\IInterface\MiddlewareInterface;
/**
*
*/
abstract class MiddlewareAbstracts implements MiddlewareInterface
{
/** @var int */
protected int $priority = 0;
/**
* @return int
*/
public function getPriority(): int
{
return $this->priority;
}
}
+3 -3
View File
@@ -5,7 +5,7 @@ namespace Http\Route;
use Closure; use Closure;
use Http\IInterface\Middleware; use Http\IInterface\MiddlewareInterface;
use Kiri\Abstracts\BaseObject; use Kiri\Abstracts\BaseObject;
@@ -77,7 +77,7 @@ class MiddlewareManager extends BaseObject
} }
return array_reduce(array_reverse($middlewares), function ($stack, $pipe) { return array_reduce(array_reverse($middlewares), function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) { return function ($passable) use ($stack, $pipe) {
if ($pipe instanceof Middleware) { if ($pipe instanceof MiddlewareInterface) {
return $pipe->onHandler($passable, $stack); return $pipe->onHandler($passable, $stack);
} }
return call_user_func($pipe, $passable, $stack); return call_user_func($pipe, $passable, $stack);
@@ -95,7 +95,7 @@ class MiddlewareManager extends BaseObject
{ {
return array_reduce(array_reverse($middlewares), function ($stack, $pipe) { return array_reduce(array_reverse($middlewares), function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) { return function ($passable) use ($stack, $pipe) {
if ($pipe instanceof Middleware) { if ($pipe instanceof MiddlewareInterface) {
return $pipe->onHandler($passable, $stack); return $pipe->onHandler($passable, $stack);
} }
return call_user_func($pipe, $passable, $stack); return call_user_func($pipe, $passable, $stack);
+2 -2
View File
@@ -10,7 +10,7 @@ use Http\Controller;
use Http\Exception\RequestException; use Http\Exception\RequestException;
use Http\Context\Request; use Http\Context\Request;
use Http\Context\Response; use Http\Context\Response;
use Http\IInterface\Middleware; use Http\IInterface\MiddlewareInterface;
use Http\IInterface\RouterInterface; use Http\IInterface\RouterInterface;
use JetBrains\PhpStorm\Pure; use JetBrains\PhpStorm\Pure;
use ReflectionException; use ReflectionException;
@@ -347,7 +347,7 @@ class Router extends HttpService implements RouterInterface
return $value; return $value;
} }
$value = Kiri::createObject($value); $value = Kiri::createObject($value);
if (!($value instanceof Middleware)) { if (!($value instanceof MiddlewareInterface)) {
return null; return null;
} }
return [$value, 'onHandler']; return [$value, 'onHandler'];