diff options
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.java | 32 |
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(); + } } |