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.ProxyHandler;
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(8080);
31 server.addConnector(connector);
32
33 HandlerCollection handlers = new HandlerCollection();
34 server.setHandler(handlers);
35
36 ServletContextHandler context = new ServletContextHandler(handlers, "/", ServletContextHandler.SESSIONS);
37 ServletHolder proxyServlet = new ServletHolder(ProxyServlet.class);
38 proxyServlet.setInitParameter("whiteList", "google.com, www.eclipse.org");
39 proxyServlet.setInitParameter("blackList", "google.com/calendar/*, www.eclipse.org/committers/");
40 context.addServlet(proxyServlet, "/*");
41
42 ProxyHandler proxy = new ProxyHandler();
43 proxy.setWhite(new String[]{"mail.google.com"});
44 proxy.addWhite("www.google.com");
45 handlers.addHandler(proxy);
46
47 server.start();
48 }
49
50 }