改名
This commit is contained in:
@@ -6,6 +6,7 @@ namespace Annotation\Route;
|
||||
|
||||
use Annotation\Attribute;
|
||||
use Snowflake\Snowflake;
|
||||
use HttpServer\IInterface\Middleware as IMiddleware;
|
||||
|
||||
/**
|
||||
* Class Middleware
|
||||
@@ -29,7 +30,7 @@ use Snowflake\Snowflake;
|
||||
$array = [];
|
||||
foreach ($this->middleware as $key => $value) {
|
||||
$sn = Snowflake::createObject($value);
|
||||
if (!($sn instanceof \HttpServer\IInterface\Middleware)) {
|
||||
if (!($sn instanceof IMiddleware)) {
|
||||
continue;
|
||||
}
|
||||
$array[] = [$sn, 'onHandler'];
|
||||
|
||||
@@ -10,13 +10,14 @@ use Exception;
|
||||
use HttpServer\Http\Context;
|
||||
use HttpServer\Http\Request;
|
||||
use HttpServer\Http\Response;
|
||||
use HttpServer\IInterface\Middleware;
|
||||
|
||||
/**
|
||||
* Class CoreMiddleware
|
||||
* @package Snowflake\Snowflake\Route
|
||||
* 跨域中间件
|
||||
*/
|
||||
class CoreMiddleware implements \HttpServer\IInterface\Middleware
|
||||
class CoreMiddleware implements Middleware
|
||||
{
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: admin
|
||||
* Date: 2019-03-20
|
||||
* Time: 02:17
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace HttpServer\Route;
|
||||
|
||||
use Annotation\Route\After;
|
||||
use Annotation\Route\Interceptor;
|
||||
use Annotation\Route\Middleware as RMiddleware;
|
||||
use Exception;
|
||||
use Annotation\Route\Limits;
|
||||
use HttpServer\Route\Dispatch\Dispatch;
|
||||
use Snowflake\Snowflake;
|
||||
|
||||
/**
|
||||
* Class Middleware
|
||||
* @package Snowflake\Snowflake\Route
|
||||
*/
|
||||
class Middleware
|
||||
{
|
||||
|
||||
/** @var array */
|
||||
private array $middleWares = [];
|
||||
|
||||
/**
|
||||
* @param $call
|
||||
* @return $this
|
||||
*/
|
||||
public function set($call): static
|
||||
{
|
||||
$this->middleWares[] = $call;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $array
|
||||
* @return $this
|
||||
*/
|
||||
public function setMiddleWares(array $array): static
|
||||
{
|
||||
$this->middleWares = $array;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Node $node
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public function getGenerate(Node $node): mixed
|
||||
{
|
||||
return $node->callback = Reduce::reduce(function () use ($node) {
|
||||
return Dispatch::create($node->handler, func_get_args())->dispatch();
|
||||
}, $this->annotation($node));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @param Node $node
|
||||
* @return array
|
||||
*/
|
||||
protected function annotation(Node $node): array
|
||||
{
|
||||
$middleWares = $node->getMiddleWares();
|
||||
$middleWares = $this->annotation_limit($node, $middleWares);
|
||||
$middleWares = $this->annotation_interceptor($node, $middleWares);
|
||||
return $middleWares;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Node $node
|
||||
* @param $middleWares
|
||||
* @return array
|
||||
*/
|
||||
protected function annotation_interceptor(Node $node, $middleWares = []): array
|
||||
{
|
||||
if (!$node->hasInterceptor()) {
|
||||
return $middleWares;
|
||||
}
|
||||
foreach ($node->getInterceptor() as $item) {
|
||||
$middleWares[] = $item;
|
||||
}
|
||||
return $middleWares;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Node $node
|
||||
* @param $middleWares
|
||||
* @return array
|
||||
*/
|
||||
protected function annotation_limit(Node $node, $middleWares = []): array
|
||||
{
|
||||
if (!$node->hasLimits()) {
|
||||
return $middleWares;
|
||||
}
|
||||
foreach ($node->getLimits() as $item) {
|
||||
$middleWares[] = $item;
|
||||
}
|
||||
return $middleWares;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -8,7 +8,6 @@ use Closure;
|
||||
use HttpServer\IInterface\After;
|
||||
use HttpServer\IInterface\Middleware;
|
||||
use Snowflake\Core\Json;
|
||||
use Snowflake\Event;
|
||||
|
||||
class Reduce
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user