代理应用程序中Jetty响应中来自Java 11 HttpClient的转发错误

代理应用程序中Jetty响应中来自Java 11 HttpClient的转发错误,java,rest,jersey,jetty,java-11,Java,Rest,Jersey,Jetty,Java 11,我正在开发一个带有嵌入式Jetty服务器的Jersey REST服务器应用程序。该应用程序充当两个不同网络之间的代理。当客户端调用应用程序上的某个资源时,它将调用另一个IP(使用Java11的HttpClient)。我们的想法是,这一步中的响应应该回到客户机 我遇到的问题是发生错误时,例如来自HttpClient的HttpConnectTimeoutException。Jetty将在默认页面中抛出一个500错误,但我要做的是在错误中指定调用代理的原始客户端超时。我想强制Jetty返回带有自定义消

我正在开发一个带有嵌入式Jetty服务器的Jersey REST服务器应用程序。该应用程序充当两个不同网络之间的代理。当客户端调用应用程序上的某个资源时,它将调用另一个IP(使用Java11的HttpClient)。我们的想法是,这一步中的响应应该回到客户机

我遇到的问题是发生错误时,例如来自HttpClient的
HttpConnectTimeoutException
。Jetty将在默认页面中抛出一个500错误,但我要做的是在错误中指定调用代理的原始客户端超时。我想强制Jetty返回带有自定义消息的504错误,而不是默认的500错误

    try {
        response = httpClient.send(httpRequest, HttpResponse.BodyHandlers.ofString(StandardCharsets.UTF_8));
    } catch (IOException | InterruptedException e) {
        // If HttpConnectTimeoutException is caught here. I want to "force" Jetty to return a 504 error 
    }

您有没有考虑过仅仅从Jetty中的
AsyncProxyServlet
(用于正常和透明的代理服务)或
AsyncMiddleManServlet
(用于带内容修改的代理)进行扩展?