diff --git a/examples/Titanium.Web.Proxy.Examples.Basic/ProxyTestController.cs b/examples/Titanium.Web.Proxy.Examples.Basic/ProxyTestController.cs index 148ac606d..f7ffeb7b9 100644 --- a/examples/Titanium.Web.Proxy.Examples.Basic/ProxyTestController.cs +++ b/examples/Titanium.Web.Proxy.Examples.Basic/ProxyTestController.cs @@ -207,6 +207,12 @@ private async Task onRequest(object sender, SessionEventArgs e) { e.GetState().PipelineInfo.AppendLine(nameof(onRequest) + ":" + e.HttpClient.Request.RequestUri); + var clientLocalIp = e.ClientLocalEndPoint.Address; + if (!clientLocalIp.Equals(IPAddress.Loopback) && !clientLocalIp.Equals(IPAddress.IPv6Loopback)) + { + e.HttpClient.UpStreamEndPoint = new IPEndPoint(clientLocalIp, 0); + } + if (e.HttpClient.Request.Url.Contains("yahoo.com")) { e.CustomUpStreamProxy = new ExternalProxy("localhost", 8888);