我正在尝试使用“错误输入异常过滤器”来捕获错误并将它们返回给客户端。我在我的 monorepo 中同时拥有 websockets 和 http 端点,在一个应用程序上我同时拥有这两个端点。
我遇到的问题是,我不想为 WS 和 HTTP 使用两个单独的异常过滤器,直到现在我都依赖于 nestjs 定义请求或套接字上下文来利用它并将错误返回给websocket 或通过 http res.send 返回错误。
但事实证明,即使应用程序中根本没有 websocket,也没有注册适配器,什么都没有,它们都被定义了。
异常处理程序:
const req: IRequest = host.switchToHttp().getRequest();
const res: Response = host.switchToHttp().getResponse();
const socket: ISocket = host.switchToWs().getClient();
if (req && res) {
// returning req res
}
if (socket) {
// emitting error on socket
有没有办法:
- 防止这种情况
- 从上下文中挖掘另一个值以知道将错误返回到哪里
谢谢你。