summaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/container/handler/metrics/HttpHandlerBase.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/handler/metrics/HttpHandlerBase.java b/container-core/src/main/java/com/yahoo/container/handler/metrics/HttpHandlerBase.java
index 54a4d05853c..71e5e8db3e5 100644
--- a/container-core/src/main/java/com/yahoo/container/handler/metrics/HttpHandlerBase.java
+++ b/container-core/src/main/java/com/yahoo/container/handler/metrics/HttpHandlerBase.java
@@ -11,6 +11,7 @@ import com.yahoo.container.jdisc.ThreadedHttpRequestHandler;
import com.yahoo.restapi.Path;
import java.net.URI;
+import java.time.Duration;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.Executor;
@@ -28,14 +29,25 @@ import static java.util.logging.Level.WARNING;
public abstract class HttpHandlerBase extends ThreadedHttpRequestHandler {
private static final ObjectMapper jsonMapper = new ObjectMapper();
+ private final Duration defaultTimeout;
protected HttpHandlerBase(Executor executor) {
+ this(executor, Duration.ofSeconds(25));
+ }
+
+ protected HttpHandlerBase(Executor executor, Duration defaultTimeout) {
super(executor);
+ this.defaultTimeout = defaultTimeout;
}
protected abstract Optional<HttpResponse> doHandle(URI requestUri, Path apiPath, String consumer);
@Override
+ public Duration getTimeout() {
+ return defaultTimeout;
+ }
+
+ @Override
public final HttpResponse handle(HttpRequest request) {
if (request.getMethod() != GET) return new JsonResponse(METHOD_NOT_ALLOWED, "Only GET is supported");