mirror of
https://github.com/dart-lang/sdk
synced 2024-09-19 15:21:31 +00:00
2df93059c7
Change-Id: Ieac31e7dfb5e03b86ad677fc28baa7064fcd7e94 Reviewed-on: https://dart-review.googlesource.com/21460 Reviewed-by: Siva Annamalai <asiva@google.com> Commit-Queue: Paul Berry <paulberry@google.com>
135 lines
5.5 KiB
Dart
135 lines
5.5 KiB
Dart
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
import "dart:io";
|
|
import "package:expect/expect.dart";
|
|
|
|
expect(expected, String uri, environment) {
|
|
Expect.equals(
|
|
expected,
|
|
HttpClient.findProxyFromEnvironment(Uri.parse(uri),
|
|
environment: environment));
|
|
}
|
|
|
|
expectDirect(String uri, Map<String, String> environment) {
|
|
Expect.equals(
|
|
"DIRECT",
|
|
HttpClient.findProxyFromEnvironment(Uri.parse(uri),
|
|
environment: environment));
|
|
}
|
|
|
|
main() {
|
|
expectDirect("http://www.google.com", {});
|
|
expectDirect("http://www.google.com", {"http_proxy": ""});
|
|
expectDirect("http://www.google.com", {"http_proxy": " "});
|
|
|
|
expect("PROXY www.proxy.com:1080", "http://www.google.com",
|
|
{"http_proxy": "www.proxy.com"});
|
|
expect("PROXY www.proxys.com:1080", "https://www.google.com",
|
|
{"https_proxy": "www.proxys.com"});
|
|
expect("PROXY www.proxy.com:8080", "http://www.google.com",
|
|
{"http_proxy": "www.proxy.com:8080"});
|
|
expect("PROXY www.proxys.com:8080", "https://www.google.com",
|
|
{"https_proxy": "www.proxys.com:8080"});
|
|
expect("PROXY www.proxy.com:8080", "http://www.google.com", {
|
|
"http_proxy": "www.proxy.com:8080",
|
|
"https_proxy": "www.proxys.com:8080"
|
|
});
|
|
expect("PROXY www.proxys.com:8080", "https://www.google.com", {
|
|
"http_proxy": "www.proxy.com:8080",
|
|
"https_proxy": "www.proxys.com:8080"
|
|
});
|
|
|
|
expect("PROXY [::ffff:1]:1080", "http://www.google.com",
|
|
{"http_proxy": "[::ffff:1]"});
|
|
expect("PROXY [::ffff:2]:1080", "https://www.google.com",
|
|
{"https_proxy": "[::ffff:2]"});
|
|
expect("PROXY [::ffff:1]:8080", "http://www.google.com",
|
|
{"http_proxy": "[::ffff:1]:8080"});
|
|
expect("PROXY [::ffff:2]:8080", "https://www.google.com",
|
|
{"https_proxy": "[::ffff:2]:8080"});
|
|
expect("PROXY [::ffff:1]:8080", "http://www.google.com",
|
|
{"http_proxy": "[::ffff:1]:8080", "https_proxy": "[::ffff:2]:8080"});
|
|
expect("PROXY [::ffff:2]:8080", "https://www.google.com",
|
|
{"http_proxy": "[::ffff:1]:8080", "https_proxy": "[::ffff:2]:8080"});
|
|
|
|
expect("PROXY www.proxy.com:1080", "http://www.google.com",
|
|
{"http_proxy": "http://www.proxy.com"});
|
|
expect("PROXY www.proxy.com:1080", "http://www.google.com",
|
|
{"http_proxy": "http://www.proxy.com/"});
|
|
expect("PROXY www.proxy.com:8080", "http://www.google.com",
|
|
{"http_proxy": "http://www.proxy.com:8080/"});
|
|
expect("PROXY www.proxy.com:8080", "http://www.google.com",
|
|
{"http_proxy": "http://www.proxy.com:8080/index.html"});
|
|
expect("PROXY www.proxy.com:8080", "http://www.google.com", {
|
|
"http_proxy": "http://www.proxy.com:8080/",
|
|
"https_proxy": "http://www.proxys.com:8080/"
|
|
});
|
|
expect("PROXY www.proxys.com:8080", "https://www.google.com", {
|
|
"http_proxy": "http://www.proxy.com:8080/",
|
|
"https_proxy": "http://www.proxys.com:8080/"
|
|
});
|
|
expect("PROXY www.proxy.com:8080", "http://www.google.com", {
|
|
"http_proxy": "http://www.proxy.com:8080/",
|
|
"https_proxy": "http://www.proxys.com:8080/index.html"
|
|
});
|
|
expect("PROXY www.proxys.com:8080", "https://www.google.com", {
|
|
"http_proxy": "http://www.proxy.com:8080/",
|
|
"https_proxy": "http://www.proxys.com:8080/index.html"
|
|
});
|
|
|
|
expect("PROXY [::ffff:1]:1080", "http://www.google.com",
|
|
{"http_proxy": "http://[::ffff:1]"});
|
|
expect("PROXY [::ffff:1]:1080", "http://www.google.com",
|
|
{"http_proxy": "http://[::ffff:1]/"});
|
|
expect("PROXY [::ffff:1]:8080", "http://www.google.com",
|
|
{"http_proxy": "http://[::ffff:1]:8080/"});
|
|
expect("PROXY [::ffff:1]:8080", "http://www.google.com",
|
|
{"http_proxy": "http://[::ffff:1]:8080/index.html"});
|
|
expect("PROXY [::ffff:1]:8080", "http://www.google.com", {
|
|
"http_proxy": "http://[::ffff:1]:8080/",
|
|
"https_proxy": "http://[::ffff:1]:8080/"
|
|
});
|
|
expect("PROXY [::ffff:2]:8080", "https://www.google.com", {
|
|
"http_proxy": "http://[::ffff:1]:8080/",
|
|
"https_proxy": "http://[::ffff:2]:8080/"
|
|
});
|
|
expect("PROXY [::ffff:1]:8080", "http://www.google.com", {
|
|
"http_proxy": "http://[::ffff:1]:8080/",
|
|
"https_proxy": "http://[::ffff:1]:8080/index.html"
|
|
});
|
|
expect("PROXY [::ffff:2]:8080", "https://www.google.com", {
|
|
"http_proxy": "http://[::ffff:1]:8080/",
|
|
"https_proxy": "http://[::ffff:2]:8080/index.html"
|
|
});
|
|
|
|
expectDirect("http://www.google.com",
|
|
{"http_proxy": "www.proxy.com:8080", "no_proxy": "www.google.com"});
|
|
expectDirect("http://www.google.com",
|
|
{"http_proxy": "www.proxy.com:8080", "no_proxy": "google.com"});
|
|
expectDirect("http://www.google.com",
|
|
{"http_proxy": "www.proxy.com:8080", "no_proxy": ".com"});
|
|
expectDirect("http://www.google.com", {
|
|
"http_proxy": "www.proxy.com:8080",
|
|
"no_proxy": ",, , www.google.edu,,.com "
|
|
});
|
|
expectDirect("http://www.google.edu", {
|
|
"http_proxy": "www.proxy.com:8080",
|
|
"no_proxy": ",, , www.google.edu,,.com "
|
|
});
|
|
expectDirect("http://www.google.com", {"https_proxy": "www.proxy.com:8080"});
|
|
|
|
expect("PROXY www.proxy.com:8080", "http://[::ffff:1]",
|
|
{"http_proxy": "www.proxy.com:8080", "no_proxy": "["});
|
|
expect("PROXY www.proxy.com:8080", "http://[::ffff:1]",
|
|
{"http_proxy": "www.proxy.com:8080", "no_proxy": "[]"});
|
|
|
|
expectDirect("http://[::ffff:1]",
|
|
{"http_proxy": "www.proxy.com:8080", "no_proxy": "[::ffff:1]"});
|
|
expectDirect("http://[::ffff:1]", {
|
|
"http_proxy": "www.proxy.com:8080",
|
|
"no_proxy": ",, , www.google.edu,,[::ffff:1] "
|
|
});
|
|
}
|