handleAngelHttpException method
Future
handleAngelHttpException(
- AngelHttpException e,
- StackTrace st,
- RequestContext? req,
- ResponseContext? res,
- Request request,
- Response response, {
- bool ignoreFinalizers = false,
Handles an AngelHttpException.
Implementation
Future handleAngelHttpException(
AngelHttpException e,
StackTrace st,
RequestContext? req,
ResponseContext? res,
Request request,
Response response,
{bool ignoreFinalizers = false}) {
if (req == null || res == null) {
try {
app.logger.severe('500 Internal Server Error', e, st);
setStatusCode(response, 500);
writeStringToResponse(response, '500 Internal Server Error');
closeResponse(response);
} catch (e) {
app.logger.severe('500 Internal Server Error', e);
}
return Future.value();
}
Future handleError;
if (!res.isOpen) {
handleError = Future.value();
} else {
res.statusCode = e.statusCode;
handleError =
Future.sync(() => app.errorHandler(e, req, res)).then((result) {
return app.executeHandler(result, req, res).then((_) => res.close());
});
}
return handleError.then((_) => sendResponse(request, response, req, res,
ignoreFinalizers: ignoreFinalizers == true));
}