Avoid Servlet observations failures for invalid HTTP status
Prior to this commit, the `DefaultServerRequestObservationConvention` for Servlet failed when the HTTP response status was invalid (for example, set to "0"). This commit catches `IllegalArgumentException` thrown for such invalid HTTP status and instead returns an unknown outcome for the observation. Fixes gh-33725
This commit is contained in:
@@ -160,9 +160,14 @@ public class DefaultServerRequestObservationConvention implements ServerRequestO
|
||||
}
|
||||
|
||||
protected KeyValue outcome(ServerRequestObservationContext context) {
|
||||
if (context.getResponse() != null) {
|
||||
HttpStatusCode statusCode = HttpStatusCode.valueOf(context.getResponse().getStatus());
|
||||
return HttpOutcome.forStatus(statusCode);
|
||||
try {
|
||||
if (context.getResponse() != null) {
|
||||
HttpStatusCode statusCode = HttpStatusCode.valueOf(context.getResponse().getStatus());
|
||||
return HttpOutcome.forStatus(statusCode);
|
||||
}
|
||||
}
|
||||
catch (IllegalArgumentException ex) {
|
||||
return HTTP_OUTCOME_UNKNOWN;
|
||||
}
|
||||
return HTTP_OUTCOME_UNKNOWN;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user