改名
This commit is contained in:
@@ -6,6 +6,7 @@ namespace Annotation\Route;
|
|||||||
|
|
||||||
use Annotation\Attribute;
|
use Annotation\Attribute;
|
||||||
use Snowflake\Snowflake;
|
use Snowflake\Snowflake;
|
||||||
|
use HttpServer\IInterface\Middleware as IMiddleware;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Middleware
|
* Class Middleware
|
||||||
@@ -29,7 +30,7 @@ use Snowflake\Snowflake;
|
|||||||
$array = [];
|
$array = [];
|
||||||
foreach ($this->middleware as $key => $value) {
|
foreach ($this->middleware as $key => $value) {
|
||||||
$sn = Snowflake::createObject($value);
|
$sn = Snowflake::createObject($value);
|
||||||
if (!($sn instanceof \HttpServer\IInterface\Middleware)) {
|
if (!($sn instanceof IMiddleware)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$array[] = [$sn, 'onHandler'];
|
$array[] = [$sn, 'onHandler'];
|
||||||
|
|||||||
@@ -10,13 +10,14 @@ use Exception;
|
|||||||
use HttpServer\Http\Context;
|
use HttpServer\Http\Context;
|
||||||
use HttpServer\Http\Request;
|
use HttpServer\Http\Request;
|
||||||
use HttpServer\Http\Response;
|
use HttpServer\Http\Response;
|
||||||
|
use HttpServer\IInterface\Middleware;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class CoreMiddleware
|
* Class CoreMiddleware
|
||||||
* @package Snowflake\Snowflake\Route
|
* @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\After;
|
||||||
use HttpServer\IInterface\Middleware;
|
use HttpServer\IInterface\Middleware;
|
||||||
use Snowflake\Core\Json;
|
use Snowflake\Core\Json;
|
||||||
use Snowflake\Event;
|
|
||||||
|
|
||||||
class Reduce
|
class Reduce
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user