35 import com.sun.net.httpserver.HttpExchange; |
35 import com.sun.net.httpserver.HttpExchange; |
36 import com.sun.net.httpserver.HttpHandler; |
36 import com.sun.net.httpserver.HttpHandler; |
37 import com.sun.net.httpserver.HttpServer; |
37 import com.sun.net.httpserver.HttpServer; |
38 import java.io.IOException; |
38 import java.io.IOException; |
39 import java.io.OutputStream; |
39 import java.io.OutputStream; |
|
40 import java.net.InetAddress; |
40 import java.net.URI; |
41 import java.net.URI; |
41 import java.net.InetSocketAddress; |
42 import java.net.InetSocketAddress; |
42 import java.net.ProxySelector; |
43 import java.net.ProxySelector; |
43 import java.util.concurrent.Executors; |
44 import java.util.concurrent.Executors; |
44 import java.util.concurrent.ExecutorService; |
45 import java.util.concurrent.ExecutorService; |
100 } |
101 } |
101 //System.out.printf("Client: response body is %s\n", resp.body()); |
102 //System.out.printf("Client: response body is %s\n", resp.body()); |
102 } |
103 } |
103 |
104 |
104 static void initServer() throws Exception { |
105 static void initServer() throws Exception { |
105 InetSocketAddress addr = new InetSocketAddress (0); |
106 InetSocketAddress addr = new InetSocketAddress(InetAddress.getLoopbackAddress(), 0); |
106 s1 = HttpServer.create (addr, 0); |
107 s1 = HttpServer.create (addr, 0); |
107 HttpHandler h = new Handler(); |
108 HttpHandler h = new Handler(); |
108 |
109 |
109 HttpContext c1 = s1.createContext("/", h); |
110 HttpContext c1 = s1.createContext("/", h); |
110 |
111 |
111 executor = Executors.newCachedThreadPool(); |
112 executor = Executors.newCachedThreadPool(); |
112 s1.setExecutor(executor); |
113 s1.setExecutor(executor); |
113 s1.start(); |
114 s1.start(); |
114 |
115 |
115 port = s1.getAddress().getPort(); |
116 port = s1.getAddress().getPort(); |
116 uri = new URI("http://127.0.0.1:" + Integer.toString(port) + "/foo"); |
117 uri = new URI("http://localhost:" + Integer.toString(port) + "/foo"); |
117 System.out.println("HTTP server port = " + port); |
118 System.out.println("HTTP server port = " + port); |
118 proxy = new ProxyServer(0, false); |
119 proxy = new ProxyServer(0, false); |
119 int proxyPort = proxy.getPort(); |
120 int proxyPort = proxy.getPort(); |
120 proxyAddr = new InetSocketAddress("127.0.0.1", proxyPort); |
121 proxyAddr = new InetSocketAddress(InetAddress.getLoopbackAddress(), proxyPort); |
121 } |
122 } |
122 |
123 |
123 static class Handler implements HttpHandler { |
124 static class Handler implements HttpHandler { |
124 int counter; |
125 int counter; |
125 |
126 |