Nest-Fehlerbehandlung fängt keine Fehler ab, wenn AuthGuard aus meinem benutzerdefinierten Paket importiert wirdJavaScript

Javascript-Forum
Anonymous
 Nest-Fehlerbehandlung fängt keine Fehler ab, wenn AuthGuard aus meinem benutzerdefinierten Paket importiert wird

Post by Anonymous »

Problem:
Ich habe ein benutzerdefiniertes NPM-Paket, das Dienstprogramme umfasst, die von verschiedenen mit Nest JS erstellten Mikrodiensten gemeinsam genutzt werden. Das Problem besteht darin, dass, wenn AuthGuard bei einigen Daten aus meinem Paket einen Fehler auslöst, die Nest-Anwendung diesen zwar abfängt, aber nur den Standardfehler auslöst. Ich löse den HttpException-Fehler bei einigen Daten aus und möchte, dass die Nest-Anwendung dieselben Daten als Antwort ausgibt, statt der Standarddaten.
Code:
Der Authentifizierungswächter im Paket ist ein einfacher Wächter, der das Token überprüft und eine Antwort oder einen Fehler zurückgibt

Code: Select all

import { CanActivate, ExecutionContext, Injectable, HttpException } from '@nestjs/common';
import { verifyToken } from '../helpers';
@Injectable()
export class AuthGuard implements CanActivate {
constructor() {}
async canActivate(context: ExecutionContext): Promise {
const request = context.switchToHttp().getRequest();
try {
const token = request.headers.authorization?.split(' ')[1];
return await verifyToken(
token,
);
} catch (error) {
console.log('⛈️⛈️⛈️⛈️⛈️⛈️', error);
throw new HttpException(
{
errorDetails: "Token Expired",
},
401,
);
}
}
Nach dieser Logik sollte ich den Fehler im Format
erhalten

Code: Select all

{
errorDetails:"Token Expired"
}
aber das NEST gibt einen Standardfehler zurück

Code: Select all

{
"statusCode": 500,
"message": "Internal server error"
}
Ich habe versucht, ein Nest-Modul für den AuthGuard zu erstellen und es in mein app.module zu importieren, aber es hat nicht funktioniert. Ich habe dafür einen globalen Ausnahmefilter erstellt, aber es hat auch nicht funktioniert.
Derselbe Code funktioniert, wenn ich ihn in einer Datei in meiner Anwendung platziere.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post