in src/main/java/org/apache/cassandra/sidecar/routes/JsonErrorHandler.java [121:146]
private void handleThrowable(RoutingContext ctx, Throwable exception)
{
int effectiveStatusCode = ctx.statusCode() != 200 ? ctx.statusCode() : INTERNAL_SERVER_ERROR.code();
HttpResponseStatus responseStatus = HttpResponseStatus.valueOf(effectiveStatusCode);
JsonObject payload = new JsonObject().put("status", responseStatus.reasonPhrase());
if (displayExceptionDetails)
{
payload.put("code", effectiveStatusCode);
if (exception != null)
{
JsonArray stack = new JsonArray();
for (StackTraceElement elem : exception.getStackTrace())
{
stack.add(elem.toString());
}
payload.put("message", exception.getMessage())
.put("stack", stack);
}
else
{
payload.put("message", responseStatus.reasonPhrase());
}
}
writeResponse(ctx, responseStatus.code(), payload);
}