エラーをキャッチしてクライアントに返すために、「不正な入力例外フィルター」を使用しようとしています。モノレポ全体に websocket と http エンドポイントの両方があり、1 つのアプリケーションに両方があります。
私が抱えている問題は、WS と HTTP に 2 つの個別の例外フィルターを使用したくないということです。これまで、要求またはソケット コンテキストのいずれかを定義する 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
次のいずれかの方法はありますか:
- これを防ぐ
- コンテキストから別の値を利用して、エラーを返す場所を知る
ありがとうございました。