Commit 92ddc04f authored by justcoding121's avatar justcoding121

release good connection when hostname changes

parent 0f8c8f31
...@@ -171,7 +171,8 @@ namespace Titanium.Web.Proxy.Network.Tcp ...@@ -171,7 +171,8 @@ namespace Titanium.Web.Proxy.Network.Tcp
while (queue.TryDequeue(out var connection)) while (queue.TryDequeue(out var connection))
{ {
var cutOff = DateTime.Now.AddSeconds(-1 * server.ConnectionTimeOutSeconds); var cutOff = DateTime.Now.AddSeconds(-1 * server.ConnectionTimeOutSeconds);
if (connection.LastAccess < cutOff) if (!server.EnableConnectionPool
|| connection.LastAccess < cutOff)
{ {
disposalBag.Add(connection); disposalBag.Add(connection);
continue; continue;
......
...@@ -49,7 +49,7 @@ namespace Titanium.Web.Proxy ...@@ -49,7 +49,7 @@ namespace Titanium.Web.Proxy
/// explicit endpoint. /// explicit endpoint.
/// </param> /// </param>
/// <param name="connectRequest">The Connect request if this is a HTTPS request from explicit endpoint.</param> /// <param name="connectRequest">The Connect request if this is a HTTPS request from explicit endpoint.</param>
/// <param name="prefetchConnectionTask">Prefected server connection for current client using Connect/SNI headers.</param> /// <param name="prefetchConnectionTask">Prefetched server connection for current client using Connect/SNI headers.</param>
private async Task handleHttpSessionRequest(ProxyEndPoint endPoint, TcpClientConnection clientConnection, private async Task handleHttpSessionRequest(ProxyEndPoint endPoint, TcpClientConnection clientConnection,
CustomBufferedStream clientStream, HttpResponseWriter clientStreamWriter, CustomBufferedStream clientStream, HttpResponseWriter clientStreamWriter,
CancellationTokenSource cancellationTokenSource, string httpsConnectHostname, ConnectRequest connectRequest, CancellationTokenSource cancellationTokenSource, string httpsConnectHostname, ConnectRequest connectRequest,
...@@ -194,7 +194,7 @@ namespace Titanium.Web.Proxy ...@@ -194,7 +194,7 @@ namespace Titanium.Web.Proxy
|| args.WebSession.UpStreamEndPoint?.Equals(serverConnection.UpStreamEndPoint) == || args.WebSession.UpStreamEndPoint?.Equals(serverConnection.UpStreamEndPoint) ==
false)) false))
{ {
await tcpConnectionFactory.Release(serverConnection, true); await tcpConnectionFactory.Release(serverConnection);
serverConnection = null; serverConnection = null;
newConnection = true; newConnection = true;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment