提交 bc9bae5a 编写于 作者: lzc828's avatar lzc828

隐藏数据库错误信息

上级 16915555
......@@ -8,6 +8,7 @@
namespace One\Swoole\Event;
use One\Database\Mysql\DbException;
use One\Exceptions\Handler;
use One\Exceptions\HttpException;
use One\Facades\Log;
......@@ -28,20 +29,24 @@ trait HttpEvent
*/
protected function httpRouter(\swoole_http_request $request, \swoole_http_response $response)
{
$req = new \One\Swoole\Request($request);
$req = new \One\Swoole\Request($request);
$go_id = Log::setTraceId($req->id());
$res = new \One\Swoole\Response($req, $response);
$res = new \One\Swoole\Response($req, $response);
try {
$router = new Router();
$server = $this instanceof Server ? $this : $this->server;
list($req->class, $req->method, $mids, $action, $req->args) = $router->explain($req->method(), $req->uri(), $req, $res, $server);
$f = $router->getExecAction($mids, $action, $res, $server);
$f = $router->getExecAction($mids, $action, $res, $server);
$data = $f();
} catch (\One\Exceptions\HttpException $e) {
$data = Handler::render($e);
} catch (\Throwable $e) {
error_report($e);
$data = Handler::render(new HttpException($res, $e->getMessage(), $e->getCode()));
$msg = $e->getMessage();
if ($e instanceof DbException) {
$msg = 'db error!';
}
$data = Handler::render(new HttpException($res, $msg, $e->getCode()));
}
Log::flushTraceId($go_id);
$response->exist = $this->server->exist($request->fd);
......
......@@ -8,6 +8,7 @@
namespace One\Swoole\Event;
use One\Database\Mysql\DbException;
use One\Facades\Log;
use One\Http\Router;
use One\Http\RouterException;
......@@ -30,7 +31,7 @@ trait TcpEvent
$this->onReceive($server, $fd, $reactor_id, $data);
}
public function onReceive(\swoole_server $server, $fd, $reactor_id, $data)
{
......@@ -58,18 +59,21 @@ trait TcpEvent
protected function tcpRouter(\swoole_server $server, $fd, $reactor_id, $data)
{
$data->uuid = uuid();
$data->fd = $fd;
$go_id = Log::setTraceId($data->uuid);
$data->fd = $fd;
$go_id = Log::setTraceId($data->uuid);
try {
$router = new Router();
$server = $this instanceof Server ? $this : $this->server;
list($data->class, $data->method, $mids, $action, $data->args) = $router->explain('tcp', $data->url, $data, $server);
$f = $router->getExecAction($mids, $action, $data, $server);
$f = $router->getExecAction($mids, $action, $data, $server);
$res = $f();
} catch (RouterException $e) {
$res = $e->getMessage();
} catch (\Throwable $e) {
$res = $e->getMessage();
if ($e instanceof DbException) {
$res = 'db error!';
}
error_report($e);
}
Log::flushTraceId($go_id);
......
......@@ -8,6 +8,7 @@
namespace One\Swoole\Event;
use One\Database\Mysql\DbException;
use One\Facades\Log;
use One\Http\Router;
use One\Http\RouterException;
......@@ -77,10 +78,10 @@ trait WsEvent
}
$frame->data = $info['d'];
$frame->uuid = uuid();
$go_id = Log::setTraceId($frame->uuid);
$go_id = Log::setTraceId($frame->uuid);
try {
$router = new Router();
$server = $this instanceof Server ? $this : $this->server;
$server = $this instanceof Server ? $this : $this->server;
$session = isset($this->session[$frame->fd]) ? $this->session[$frame->fd] : null;
list($frame->class, $frame->method, $mids, $action, $frame->args) = $router->explain('ws', $info['u'], $frame, $server, $session);
$f = $router->getExecAction($mids, $action, $frame, $server, $session);
......@@ -89,6 +90,9 @@ trait WsEvent
$data = $e->getMessage();
} catch (\Throwable $e) {
$data = $e->getMessage();
if ($e instanceof DbException) {
$data = 'db error!';
}
error_report($e);
}
Log::flushTraceId($go_id);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册