-
Notifications
You must be signed in to change notification settings - Fork 38
Open
Description
Describe the feature
In case any interceptor fails with an exception, it is handled as a 502
.
We propose to introduce an exceptionHandler
in the HttpProxy
to customize this behavior, analogously it is done in the HttpServerRequest
, HttpServerResponse
and many others.
Relevant code:
proxy.sendRequest()
.recover(throwable -> {
log.trace("Error in sending the request", throwable);
return Future.succeededFuture(proxyRequest.release().response().setStatusCode(502));
})
.compose(proxy::sendProxyResponse)
.recover(throwable -> {
log.trace("Error in sending the response", throwable);
return proxy.response().release().setStatusCode(502).send();
});
Use cases
When applying interceptors, the proxy may want to return status codes that differ to the hard-coded 502
.
Contribution
I volunteer to implement this feature.
We propose to add the following methods to HttpProxy
and ReverseProxy
:
HttpProxy requestExceptionHandler(Handler<Throwable> handler);
HttpProxy responseExceptionHandler(Handler<Throwable> handler);
Alternatively, only exceptionHandler
may be added that is to be used on both request and responses.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request