This commit is contained in:
2021-04-26 12:32:38 +08:00
parent 9ae3dc8f8a
commit 0db6782135
3 changed files with 528 additions and 526 deletions
+10 -8
View File
@@ -9,6 +9,7 @@ use HttpServer\Abstracts\Callback;
use HttpServer\Exception\ExitException;
use HttpServer\Http\Request as HRequest;
use HttpServer\Http\Response as HResponse;
use HttpServer\Route\Router;
use Snowflake\Error\Logger;
use Snowflake\Event;
use Snowflake\Snowflake;
@@ -28,12 +29,16 @@ class OnRequest extends Callback
public Logger $logger;
public Router $router;
/**
* @throws Exception
*/
public function init()
{
$this->event = Snowflake::app()->getEvent();
$this->router = Snowflake::app()->getRouter();
}
@@ -50,15 +55,12 @@ class OnRequest extends Callback
fire(Event::SYSTEM_RESOURCE_RELEASES);
});
/** @var HRequest $request */
/** @var HResponse $response */
[$request, $response] = OnRequest::createContext($request, $response);
$this->event->dispatch(Event::EVENT_BEFORE_REQUEST, [$request]);
$result = $request->dispatch();
$this->event->dispatch(Event::EVENT_AFTER_REQUEST, [$request, $result]);
return $result;
if ($request->is('favicon.ico')) {
return $response->send('', 404);
}
return $this->router->dispatch();
} catch (ExitException | Error | \Throwable $exception) {
$this->addError($exception, 'throwable');
return $this->sendErrorMessage($request, $response, $exception);
+1
View File
@@ -519,6 +519,7 @@ class Node extends HttpService
if (empty($this->callback)) {
return Json::to(404, $this->errorMsg());
}
return call_user_func($this->handler, \request());
return $this->httpFilter();
}
+1 -2
View File
@@ -540,8 +540,7 @@ class Router extends HttpService implements RouterInterface
if (!($node = $this->find_path(\request()))) {
return send(self::NOT_FOUND);
}
$response = $node->dispatch();
send($response, 200);
send(($response = $node->dispatch()), 200);
if (!$node->hasAfter()) {
return null;
}