37 lines
1.0 KiB
TypeScript
37 lines
1.0 KiB
TypeScript
import type { HttpContext } from "@adonisjs/core/http"
|
|
import { ExceptionHandler } from "@adonisjs/core/http"
|
|
import app from "@adonisjs/core/services/app"
|
|
|
|
export interface ExceptionMessage {
|
|
message: string
|
|
}
|
|
|
|
export default class HttpExceptionHandler extends ExceptionHandler {
|
|
/**
|
|
* In debug mode, the exception handler will display verbose errors with pretty printed stack traces.
|
|
*/
|
|
protected override debug = !app.inProduction
|
|
|
|
/**
|
|
* The method is used for handling errors and returning response to the client.
|
|
*/
|
|
public override async handle(
|
|
error: unknown,
|
|
context: HttpContext,
|
|
): Promise<unknown> {
|
|
return await super.handle(error, context)
|
|
}
|
|
|
|
/**
|
|
* The method is used to report error to the logging service or the third party error monitoring service.
|
|
*
|
|
* @note You should not attempt to send a response from this method.
|
|
*/
|
|
public override async report(
|
|
error: unknown,
|
|
context: HttpContext,
|
|
): Promise<void> {
|
|
return await super.report(error, context)
|
|
}
|
|
}
|