diff options
Diffstat (limited to 'container-core/src/main/java/com/yahoo/container/handler')
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/handler/metrics/HttpHandlerBase.java | 12 |
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"); |