errorHandlingMiddleware function

Middleware errorHandlingMiddleware()

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'},
        );
      }
    };
  };
}