From fed06d7728eb48f3d03994f710feb49c7696c490 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Tue, 3 Aug 2021 15:13:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Server/HTTPServerListener.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Server/HTTPServerListener.php b/Server/HTTPServerListener.php index e75d1f05..44d44a21 100644 --- a/Server/HTTPServerListener.php +++ b/Server/HTTPServerListener.php @@ -6,8 +6,6 @@ use Exception; use HttpServer\Http\Context; use HttpServer\Http\Request as HSRequest; use HttpServer\Route\Router; -use ReflectionException; -use Snowflake\Exception\NotFindClassException; use Snowflake\Snowflake; use Swoole\Error; use Swoole\Http\Request; @@ -56,7 +54,15 @@ class HTTPServerListener extends Abstracts\Server $this->setEvents(Constant::CONNECT, $settings['events'][Constant::CONNECT] ?? null); $server->set(array_merge($settings['settings'] ?? [], ['enable_unsafe_event' => false])); - $server->on('request', [$this, 'onRequest']); + if (isset($settings['events'][Constant::REQUEST])) { + $event = $settings['events'][Constant::REQUEST]; + if (is_array($event) && is_string($event[0])) { + $event[0] = di($event[0]); + } + $server->on('request', $event); + } else { + $server->on('request', [$this, 'onRequest']); + } $server->on('connect', [$this, 'onConnect']); $server->on('close', [$this, 'onClose']); return $server; @@ -86,7 +92,7 @@ class HTTPServerListener extends Abstracts\Server $this->router->dispatch(HSRequest::create($request)); } catch (Error | Throwable $exception) { - $this->response->send(jTraceEx($exception),500); + $this->response->send(jTraceEx($exception), 500); } }