Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Unified Diff: tests/standalone/io/http_proxy_test.dart

Issue 11092044: Add support for multiple HTTP proxies (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed review comments Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/bin/http_impl.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/standalone/io/http_proxy_test.dart
diff --git a/tests/standalone/io/http_proxy_test.dart b/tests/standalone/io/http_proxy_test.dart
index 4eb185e7d05ff3dd3c5790a15a1ad7e71ae8e638..5ab12b1feda40dbee8ef2bf0e60846d20e2e663a 100644
--- a/tests/standalone/io/http_proxy_test.dart
+++ b/tests/standalone/io/http_proxy_test.dart
@@ -8,16 +8,21 @@
class Server {
HttpServer server;
int proxyHops;
+ List<String> directRequestPaths;
int requestCount = 0;
- Server(this.proxyHops) : server = new HttpServer();
+ Server(this.proxyHops, this.directRequestPaths) : server = new HttpServer();
void start() {
server.listen("127.0.0.1", 0);
server.defaultRequestHandler =
(HttpRequest request, HttpResponse response) {
requestCount++;
- if (proxyHops > 0) {
+ // Check whether a proxy or direct connection is expected.
+ bool direct = directRequestPaths.reduce(
+ false,
+ (prev, path) => prev ? prev : path == request.path);
+ if (!direct && proxyHops > 0) {
Expect.isNotNull(request.headers[HttpHeaders.VIA]);
Expect.equals(1, request.headers[HttpHeaders.VIA].length);
Expect.equals(
@@ -46,8 +51,9 @@ class Server {
int get port => server.port;
}
-Server setupServer(int proxyHops) {
- Server server = new Server(proxyHops);
+Server setupServer(int proxyHops,
+ [List<String> directRequestPaths = const <String>[]]) {
+ Server server = new Server(proxyHops, directRequestPaths);
server.start();
return server;
}
@@ -165,12 +171,15 @@ void testDirectProxy() {
int testProxyDoneCount = 0;
void testProxy() {
ProxyServer proxyServer = setupProxyServer();
- Server server = setupServer(1);
+ Server server = setupServer(1, ["/4"]);
HttpClient client = new HttpClient();
List<String> proxy =
["PROXY localhost:${proxyServer.port}",
"PROXY localhost:${proxyServer.port}; PROXY hede.hule.hest:8080",
+ "PROXY hede.hule.hest:8080; PROXY localhost:${proxyServer.port}",
+ "PROXY hede.hule.hest:8080; PROXY hede.hule.hest:8181; PROXY localhost:${proxyServer.port}",
+ "PROXY hede.hule.hest:8080; PROXY hede.hule.hest:8181; DIRECT",
"PROXY localhost:${proxyServer.port}; DIRECT"];
client.findProxy = (Uri uri) {
@@ -210,12 +219,15 @@ void testProxyChain() {
ProxyServer proxyServer2 = setupProxyServer();
proxyServer1.client.findProxy = (_) => "PROXY 127.0.0.1:${proxyServer2.port}";
- Server server = setupServer(2);
+ Server server = setupServer(2, ["/4"]);
HttpClient client = new HttpClient();
List<String> proxy =
["PROXY localhost:${proxyServer1.port}",
"PROXY localhost:${proxyServer1.port}; PROXY hede.hule.hest:8080",
+ "PROXY hede.hule.hest:8080; PROXY localhost:${proxyServer1.port}",
+ "PROXY hede.hule.hest:8080; PROXY hede.hule.hest:8181; PROXY localhost:${proxyServer1.port}",
+ "PROXY hede.hule.hest:8080; PROXY hede.hule.hest:8181; DIRECT",
"PROXY localhost:${proxyServer1.port}; DIRECT"];
client.findProxy = (Uri uri) {
@@ -257,6 +269,7 @@ void testRealProxy() {
List<String> proxy =
["PROXY localhost:8080",
"PROXY localhost:8080; PROXY hede.hule.hest:8080",
+ "PROXY hede.hule.hest:8080; PROXY localhost:8080",
"PROXY localhost:8080; DIRECT"];
client.findProxy = (Uri uri) {
« no previous file with comments | « runtime/bin/http_impl.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698