1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.nested;
20
21 import java.io.IOException;
22
23 import javax.servlet.ServletException;
24 import javax.servlet.ServletRequest;
25 import javax.servlet.ServletResponse;
26 import javax.servlet.http.HttpServletRequest;
27 import javax.servlet.http.HttpServletResponse;
28
29 import org.eclipse.jetty.io.EndPoint;
30 import org.eclipse.jetty.server.AbstractConnector;
31 import org.eclipse.jetty.server.Connector;
32 import org.eclipse.jetty.server.Request;
33
34
35
36
37
38
39
40
41 public class NestedConnector extends AbstractConnector
42 {
43 String _serverInfo;
44
45 public NestedConnector()
46 {
47 setAcceptors(0);
48 setForwarded(true);
49 }
50
51 public void open() throws IOException
52 {
53 }
54
55 public void close() throws IOException
56 {
57 }
58
59 public int getLocalPort()
60 {
61 return -1;
62 }
63
64 public Object getConnection()
65 {
66 return null;
67 }
68
69 @Override
70 protected void accept(int acceptorID) throws IOException, InterruptedException
71 {
72 throw new IllegalStateException();
73 }
74
75
76
77
78
79
80
81
82 public void service(ServletRequest outerRequest, ServletResponse outerResponse) throws IOException, ServletException
83 {
84 HttpServletRequest outerServletRequest = (HttpServletRequest)outerRequest;
85 HttpServletResponse outerServletResponse = (HttpServletResponse)outerResponse;
86 NestedConnection connection=new NestedConnection(this,new NestedEndPoint(outerServletRequest,outerServletResponse),outerServletRequest,outerServletResponse,_serverInfo);
87 connection.service();
88 }
89
90 }