改名
This commit is contained in:
@@ -56,23 +56,20 @@ class OnRequest extends Callback
|
|||||||
public function onHandler(Request $request, Response $response): mixed
|
public function onHandler(Request $request, Response $response): mixed
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$this->event->trigger(self::BEFORE_REQUEST, [$request]);
|
/** @var HRequest $request */
|
||||||
|
[$request, $response] = OnRequest::createContext($request, $response);
|
||||||
|
|
||||||
[$request, $response] = static::create($request, $response);
|
$this->event->dispatch(self::BEFORE_REQUEST, [$request]);
|
||||||
if (!$request->is('favicon.ico')) {
|
|
||||||
return \router()->dispatch();
|
|
||||||
}
|
|
||||||
|
|
||||||
return \send(null);
|
$result = $request->dispatch();
|
||||||
|
|
||||||
|
$this->event->dispatch(self::AFTER_REQUEST, [$request, $result]);
|
||||||
|
|
||||||
|
return $result;
|
||||||
} catch (ExitException | Error | \Throwable $exception) {
|
} catch (ExitException | Error | \Throwable $exception) {
|
||||||
if ($exception instanceof ExitException) {
|
|
||||||
return \send(Json::to($exception->getCode(), $exception->getMessage()));
|
|
||||||
}
|
|
||||||
return $this->sendErrorMessage($request, $response, $exception);
|
return $this->sendErrorMessage($request, $response, $exception);
|
||||||
} finally {
|
} finally {
|
||||||
$this->event->trigger(Event::SYSTEM_RESOURCE_RELEASES);
|
$this->event->trigger(Event::SYSTEM_RESOURCE_RELEASES);
|
||||||
$this->event->trigger(self::AFTER_REQUEST, [$request]);
|
|
||||||
|
|
||||||
$this->logger->insert();
|
$this->logger->insert();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -85,7 +82,7 @@ class OnRequest extends Callback
|
|||||||
* @throws NotFindClassException
|
* @throws NotFindClassException
|
||||||
* @throws ReflectionException
|
* @throws ReflectionException
|
||||||
*/
|
*/
|
||||||
public static function create($request, $response): array
|
public static function createContext($request, $response): array
|
||||||
{
|
{
|
||||||
return [HRequest::create($request), HResponse::create($response)];
|
return [HRequest::create($request), HResponse::create($response)];
|
||||||
}
|
}
|
||||||
@@ -96,13 +93,13 @@ class OnRequest extends Callback
|
|||||||
* @param $sResponse
|
* @param $sResponse
|
||||||
* @param $exception
|
* @param $exception
|
||||||
* @return bool|string
|
* @return bool|string
|
||||||
* @throws ComponentException
|
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
protected function sendErrorMessage($sRequest, $sResponse, $exception): bool|string
|
protected function sendErrorMessage($sRequest, $sResponse, $exception): bool|string
|
||||||
{
|
{
|
||||||
$this->error($exception);
|
$this->error($exception->getMessage());
|
||||||
$params = Snowflake::app()->getLogger()->exception($exception);
|
$this->event->dispatch(self::AFTER_REQUEST, [$sRequest, $exception]);
|
||||||
|
|
||||||
if ($sResponse instanceof Response) {
|
if ($sResponse instanceof Response) {
|
||||||
[$sRequest, $sResponse] = [HRequest::create($sRequest), HResponse::create($sResponse)];
|
[$sRequest, $sResponse] = [HRequest::create($sRequest), HResponse::create($sResponse)];
|
||||||
}
|
}
|
||||||
@@ -111,7 +108,11 @@ class OnRequest extends Callback
|
|||||||
$sResponse->addHeader('Access-Control-Allow-Headers', $sRequest->headers->get('access-control-request-headers'));
|
$sResponse->addHeader('Access-Control-Allow-Headers', $sRequest->headers->get('access-control-request-headers'));
|
||||||
$sResponse->addHeader('Access-Control-Request-Method', $sRequest->headers->get('access-control-request-method'));
|
$sResponse->addHeader('Access-Control-Request-Method', $sRequest->headers->get('access-control-request-method'));
|
||||||
|
|
||||||
return $sResponse->send($params, 200);
|
if (!($exception instanceof ExitException)) {
|
||||||
|
return $sResponse->send(\logger()->exception($exception), 200);
|
||||||
|
} else {
|
||||||
|
return $sResponse->send($exception->getMessage(), 200);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ use Exception;
|
|||||||
use HttpServer\Abstracts\HttpService;
|
use HttpServer\Abstracts\HttpService;
|
||||||
use HttpServer\IInterface\AuthIdentity;
|
use HttpServer\IInterface\AuthIdentity;
|
||||||
|
|
||||||
|
use HttpServer\Route\Router;
|
||||||
use JetBrains\PhpStorm\Pure;
|
use JetBrains\PhpStorm\Pure;
|
||||||
use ReflectionException;
|
use ReflectionException;
|
||||||
use Snowflake\Core\ArrayAccess;
|
use Snowflake\Core\ArrayAccess;
|
||||||
@@ -15,6 +16,7 @@ use Snowflake\Core\Json;
|
|||||||
use Snowflake\Exception\ComponentException;
|
use Snowflake\Exception\ComponentException;
|
||||||
use Snowflake\Exception\NotFindClassException;
|
use Snowflake\Exception\NotFindClassException;
|
||||||
use Snowflake\Snowflake;
|
use Snowflake\Snowflake;
|
||||||
|
use stdClass;
|
||||||
use Swoole\Server;
|
use Swoole\Server;
|
||||||
use function router;
|
use function router;
|
||||||
|
|
||||||
@@ -437,6 +439,16 @@ class Request extends HttpService
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return mixed
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function dispatch(): mixed
|
||||||
|
{
|
||||||
|
return $this->is('favicon.ico') ? \send(null) : \router();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $request
|
* @param $request
|
||||||
* @return mixed
|
* @return mixed
|
||||||
|
|||||||
+8
-7
@@ -177,12 +177,13 @@ class Event extends BaseObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $name
|
* @param $name
|
||||||
* @param array $params
|
* @param array $params
|
||||||
* @param null $scope
|
* @param null $scope
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
* @throws Exception
|
||||||
|
*/
|
||||||
public function dispatch($name, $params = [], $scope = null): bool
|
public function dispatch($name, $params = [], $scope = null): bool
|
||||||
{
|
{
|
||||||
return $this->trigger($name, $params, $scope);
|
return $this->trigger($name, $params, $scope);
|
||||||
@@ -219,7 +220,7 @@ class Event extends BaseObject
|
|||||||
* @return bool
|
* @return bool
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
private function execute($event, $parameter)
|
private function execute($event, $parameter): bool
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$meta = $this->mergeParams($event[1], $parameter);
|
$meta = $this->mergeParams($event[1], $parameter);
|
||||||
|
|||||||
+2
-2
@@ -592,10 +592,10 @@ if (!function_exists('send')) {
|
|||||||
/**
|
/**
|
||||||
* @param $context
|
* @param $context
|
||||||
* @param $statusCode
|
* @param $statusCode
|
||||||
* @return bool|Response|stdClass|string
|
* @return mixed
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
function send($context, $statusCode = 404): Response|bool|string|stdClass
|
function send($context, $statusCode = 404): mixed
|
||||||
{
|
{
|
||||||
return \response()->send($context, $statusCode);
|
return \response()->send($context, $statusCode);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user