Handler _errorWriter()

in google_cloud/lib/src/logging.dart [63:84]


Handler _errorWriter(Handler innerHandler) => (request) async {
      final response = await innerHandler(request);

      final error =
          response.context['bad_request_exception'] as BadRequestException?;

      if (error != null) {
        final stack = response.context['bad_stack_trace'] as StackTrace?;
        final output = [
          error,
          if (error.innerError != null)
            '${error.innerError} (${error.innerError.runtimeType})',
          _fromStackTrace(error.innerStack ?? stack),
        ];

        final bob =
            output.expand((e) => LineSplitter.split('$e'.trim())).join('\n');

        stderr.writeln(lightRed.wrap(bob));
      }
      return response;
    };