diff options
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 | 37 |
1 files changed, 37 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..4ff224e9087 --- /dev/null +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServerContext.java @@ -0,0 +1,37 @@ +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); + } + +} |