errorHandlingMiddleware function
Creates error handling middleware.
Implementation
Middleware errorHandlingMiddleware() {
return (Handler handler) {
return (Request request) async {
try {
return await handler(request);
} catch (e, stackTrace) {
final requestId = request.context['request_id'] ?? 'unknown';
Log.e('Unhandled error [ID: $requestId]', error: e, stackTrace: stackTrace);
// Don't leak error details in production
return Response.internalServerError(
body: jsonEncode({
'error': 'Internal server error',
'request_id': requestId,
}),
headers: {'content-type': 'application/json'},
);
}
};
};
}