if (proxyHelper.ManualSettingsOnly)
{
+ if (NetEventSource.IsEnabled) NetEventSource.Info(proxyHelper, $"ManualSettingsUsed, {proxyHelper.Proxy}");
ParseProxyConfig(proxyHelper.Proxy, out _insecureProxyUri, out _secureProxyUri);
+ if (_insecureProxyUri == null && _secureProxyUri == null)
+ {
+ // If advanced parsing by protocol fails, fall-back to simplified parsing.
+ _insecureProxyUri = _secureProxyUri = GetUriFromString(proxyHelper.Proxy);
+ }
if (!string.IsNullOrWhiteSpace(proxyHelper.ProxyBypass))
{
}
[Theory]
+ [InlineData("localhost:1234", "http://localhost:1234/")]
+ [InlineData("123.123.123.123", "http://123.123.123.123/")]
+ public void HttpProxy_SystemProxy_Loaded(string rawProxyString, string expectedUri)
+ {
+ RemoteInvoke((proxyString, expectedString) =>
+ {
+ IWebProxy p;
+
+ FakeRegistry.Reset();
+
+ FakeRegistry.WinInetProxySettings.Proxy = proxyString;
+ WinInetProxyHelper proxyHelper = new WinInetProxyHelper();
+
+ Assert.True(HttpSystemProxy.TryCreate(out p));
+ Assert.NotNull(p);
+ Assert.Equal(expectedString, p.GetProxy(new Uri(fooHttp)).ToString());
+ Assert.Equal(expectedString, p.GetProxy(new Uri(fooHttps)).ToString());
+
+ return SuccessExitCode;
+ }, rawProxyString, expectedUri).Dispose();
+ }
+
+ [Theory]
[InlineData("http://localhost/", true)]
[InlineData("http://127.0.0.1/", true)]
[InlineData("http://128.0.0.1/", false)]
[InlineData("http://;")]
[InlineData("http=;")]
[InlineData(" ; ")]
- [InlineData("proxy.contoso.com")]
public void HttpProxy_InvalidSystemProxy_Null(string rawProxyString)
{
RemoteInvoke((proxyString) =>