1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.embedded;
20
21 import org.eclipse.jetty.server.Server;
22 import org.eclipse.jetty.server.handler.HandlerCollection;
23 import org.eclipse.jetty.server.handler.ConnectHandler;
24 import org.eclipse.jetty.server.nio.SelectChannelConnector;
25 import org.eclipse.jetty.servlet.ServletContextHandler;
26 import org.eclipse.jetty.servlet.ServletHolder;
27 import org.eclipse.jetty.servlets.ProxyServlet;
28
29 public class ProxyServer
30 {
31 public static void main(String[] args) throws Exception
32 {
33 Server server = new Server();
34 SelectChannelConnector connector = new SelectChannelConnector();
35 connector.setPort(8888);
36 server.addConnector(connector);
37
38 HandlerCollection handlers = new HandlerCollection();
39 server.setHandler(handlers);
40
41
42 ServletContextHandler context = new ServletContextHandler(handlers, "/", ServletContextHandler.SESSIONS);
43 ServletHolder proxyServlet = new ServletHolder(ProxyServlet.class);
44 proxyServlet.setInitParameter("whiteList", "google.com, www.eclipse.org, localhost");
45 proxyServlet.setInitParameter("blackList", "google.com/calendar/*, www.eclipse.org/committers/");
46 context.addServlet(proxyServlet, "/*");
47
48
49
50 ConnectHandler proxy = new ConnectHandler();
51 proxy.setWhite(new String[]{"mail.google.com"});
52 proxy.addWhite("www.google.com");
53 handlers.addHandler(proxy);
54
55 server.start();
56 }
57
58 }