Quantcast
Channel: Recent Questions - Stack Overflow
Viewing all articles
Browse latest Browse all 12111

Add custom data to 500 server errors responses

$
0
0

I am trying to modify the responses returned in case of uncontrolled errors (status code >= 500), in this case I want to add a correlation ID to the response for easier error log aggregation in a distributed application. For status codes <= 499 this works fine with @ServerResponseFilter

@ServerResponseFilterpublic void modifyResponse(ContainerResponseContext responseContext) {    Log.debugf("Calling modifyResponse with context %s", responseContext);    if (responseContext.getStatus() >= 400) {        if (responseContext.getEntity() instanceof String) {            responseContext.setEntity("Error with Correlation-ID " + MDC.get("correlation_id") +": " + responseContext.getEntity());        }    }}

However, modifyResponse is not invoked for responses with status codes >= 500, even when thrown "manually" using e.g. throw new WebApplicationException("abort!", 500).

Is there a way I can enrich the HTTP response with some custom data in case of 500 server errors?


Viewing all articles
Browse latest Browse all 12111

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>