enhancementhelp wanted
Repository metrics
- Stars
- (3,840 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
LinqPad snippet:
Environment.SetEnvironmentVariable("HTTP_PROXY", "http://localhost:8080");
"http://google.com".GetAsync().Dump();
With this environment variable set, System.Net.Http.HttpClient has the static property DefaultProxy set to System.Net.Http.HttpEnvironmentProxy, which acts as a proxy for all the requests. When the proxy server is not accessible the error message generates is:
Call failed. No connection could be made because the target machine actively refused it.
GET http://google.com
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken) at
System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken) at
System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken) at
System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken) at
System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken) at
System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at
System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at
System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts) at
Flurl.Http.FlurlRequest.SendAsync(HttpMethod verb, HttpContent content, CancellationToken cancellationToken, HttpCompletionOption completionOption) | at
System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken) at
System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken) at
System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken) at
System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
Whilst this is correct, no connection could be made to http://google.com it is because of the proxy server. I didn't realize I had an environment variable set, and spend a while trying to figure out what on earth was going on, would it be possible to enchance the error message when a proxy server is being used?