diff options
author | Jon Bratseth <bratseth@gmail.com> | 2020-10-09 18:19:24 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2020-10-09 18:19:24 +0200 |
commit | 2f4b9ce434dd50479c9f1f3e3139acd4e9290ca5 (patch) | |
tree | 44310f64ecd5243b7c320ab423a5fee612692d33 /container-core | |
parent | 471a8febd390210206c85b89505e8d995fc74573 (diff) |
Set RequestType both ways
Diffstat (limited to 'container-core')
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java | 2 | ||||
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java index e0fc79b4be9..19460053469 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java @@ -30,7 +30,7 @@ import java.util.concurrent.Executor; */ public abstract class LoggingRequestHandler extends ThreadedHttpRequestHandler { - private AccessLog accessLog; + private final AccessLog accessLog; public LoggingRequestHandler(Executor executor, AccessLog accessLog) { this(executor, accessLog, null); diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java index 5864ecf4b91..4c93613603b 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java @@ -159,7 +159,8 @@ public abstract class ThreadedRequestHandler extends AbstractRequestHandler { */ protected void writeErrorResponseOnOverload(Request request, ResponseHandler responseHandler) { Response response = new Response(Response.Status.SERVICE_UNAVAILABLE); - getRequestType().ifPresent(type -> response.setRequestType(type)); + if (getRequestType().isPresent() && response.getRequestType() == null) + response.setRequestType(getRequestType().get()); ResponseDispatch.newInstance(response).dispatch(responseHandler); } @@ -203,7 +204,8 @@ public abstract class ThreadedRequestHandler extends AbstractRequestHandler { @Override public ContentChannel handleResponse(Response response) { if ( tryHasResponded()) throw new IllegalStateException("Response already handled"); - getRequestType().ifPresent(type -> response.setRequestType(type)); + if (getRequestType().isPresent() && response.getRequestType() == null) + response.setRequestType(getRequestType().get()); ContentChannel cc = responseHandler.handleResponse(response); HandlerMetricContextUtil.onHandled(request, metric, getClass()); return cc; |