writeError method

void writeError(
  1. HttpRequest request,
  2. int code,
  3. String message, {
  4. StackTrace? trace,
})

Implementation

void writeError(HttpRequest request, int code, String message, {StackTrace? trace}) {
  //TODO depend on request accepted header
  //request.response.write("<pre>${new HtmlEscape().convert(stackTrace.toString())}</pre>");
  try {
    request.response.statusCode = code;
    request.response.headers.contentType = ContentType.json;
  } catch (e) {
    //ignore headers already sent issue
  }
  var json = {'error': "$code ${httpStatusMessage[code]!}", 'message': message};
  if (config.getRequired<bool>('debug') && trace != null) {
    json['trace'] = trace.toString();
  }
  request.response.write(jsonEncode(json));
}