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