Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnector.java')
-rw-r--r--jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnector.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnector.java b/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnector.java
index 8606418118..63b0370516 100644
--- a/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnector.java
+++ b/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnector.java
@@ -1,10 +1,27 @@
package org.eclipse.jetty.nested;
import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
import org.eclipse.jetty.server.AbstractConnector;
+import org.eclipse.jetty.server.Connector;
+/**
+ * Nested Jetty Connector
+ * <p>
+ * This Jetty {@link Connector} allows a jetty instance to be nested inside another servlet container.
+ * Requests received by the outer servlet container should be passed to jetty using the {@link #service(ServletRequest, ServletResponse)} method of this connector.
+ *
+ */
public class NestedConnector extends AbstractConnector
{
+ String _serverInfo;
+
public NestedConnector()
{
setAcceptors(0);
@@ -33,5 +50,20 @@ public class NestedConnector extends AbstractConnector
{
throw new IllegalStateException();
}
+
+ /**
+ * Service a request of the outer servlet container by passing it to the nested instance of Jetty.
+ * @param outerRequest
+ * @param outerResponse
+ * @throws IOException
+ * @throws ServletException
+ */
+ public void service(ServletRequest outerRequest, ServletResponse outerResponse) throws IOException, ServletException
+ {
+ HttpServletRequest request = (HttpServletRequest)outerRequest;
+ HttpServletResponse response = (HttpServletResponse)outerResponse;
+ NestedConnection connection=new NestedConnection(this,new NestedEndPoint(request,response),request,response,_serverInfo);
+ connection.service();
+ }
}

Back to the top