aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServerContext.java
diff options
context:
space:
mode:
authorbjormel <bjormel@yahooinc.com>2023-10-26 13:59:28 +0000
committerbjormel <bjormel@yahooinc.com>2023-10-26 13:59:28 +0000
commit567be9a1f6353cec41c23bfd1fcd46b4b2a4d2d7 (patch)
tree4664a743e166a5e11aee7b9acd70ad8ee2617612 /container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServerContext.java
parente9058b555d4dfea2f6c872d9a677e8678b569569 (diff)
parentbce3b8e926bf9da880172acbe1ba4b12d5e026d6 (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.java38
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);
+ }
+
+}