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