diff options
author | bjormel <bjormel@yahooinc.com> | 2023-10-26 13:59:28 +0000 |
---|---|---|
committer | bjormel <bjormel@yahooinc.com> | 2023-10-26 13:59:28 +0000 |
commit | 567be9a1f6353cec41c23bfd1fcd46b4b2a4d2d7 (patch) | |
tree | 4664a743e166a5e11aee7b9acd70ad8ee2617612 /container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServerContext.java | |
parent | e9058b555d4dfea2f6c872d9a677e8678b569569 (diff) | |
parent | bce3b8e926bf9da880172acbe1ba4b12d5e026d6 (diff) |
Merge branch 'master' into bjormel/aws-main-controllerbjormel/aws-main-controller
Diffstat (limited to 'container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServerContext.java')
-rw-r--r-- | container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServerContext.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServerContext.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServerContext.java new file mode 100644 index 00000000000..1f797169293 --- /dev/null +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServerContext.java @@ -0,0 +1,38 @@ +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.jdisc.http.server.jetty; + +import com.google.inject.Inject; +import com.yahoo.component.AbstractComponent; +import com.yahoo.component.provider.ComponentRegistry; +import com.yahoo.container.Container; +import com.yahoo.container.logging.ConnectionLog; +import com.yahoo.container.logging.RequestLog; +import com.yahoo.jdisc.Metric; +import com.yahoo.jdisc.http.ServerConfig; +import com.yahoo.jdisc.service.CurrentContainer; + +/** + * @author jonmv + * + * Context that a {@link JettyHttpServer} uses to pass requests to JDisc. + * This registers itself with the server upon construction, and unregisters + * on deconstruction, and the server always uses the most recent context. + */ +public class JettyHttpServerContext extends AbstractComponent { + + private final JDiscContext context; + private final JettyHttpServer server; + + @Inject // Must use guice annotation due to setup in TestDriver + public JettyHttpServerContext(CurrentContainer container, Metric metric, FilterBindings filterBindings, + Janitor janitor, JettyHttpServer server) { + this.server = server; + this.context = server.registerContext(filterBindings, container, janitor, metric); + } + + @Override + public void deconstruct() { + server.deregisterContext(context); + } + +} |