summaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-10-09 18:19:24 +0200
committerJon Bratseth <bratseth@gmail.com>2020-10-09 18:19:24 +0200
commit2f4b9ce434dd50479c9f1f3e3139acd4e9290ca5 (patch)
tree44310f64ecd5243b7c320ab423a5fee612692d33 /container-core
parent471a8febd390210206c85b89505e8d995fc74573 (diff)
Set RequestType both ways
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java2
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java6
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;