Browse Source

HTTPClient: check for changed host/port for KeepConnection

Ondrej Pokorny 1 year ago
parent
commit
910a70ed0d
1 changed files with 6 additions and 0 deletions
  1. 6 0
      packages/fcl-web/src/base/fphttpclient.pp

+ 6 - 0
packages/fcl-web/src/base/fphttpclient.pp

@@ -1459,6 +1459,12 @@ begin
   ExtractHostPort(AURI, CHost, CPort);
   SkipReconnect := False;
   ACount := 0;
+
+  // check for changed host/port
+  if IsConnected and (Socket is TInetSocket)
+  and ((TInetSocket(Socket).Host<>CHost) or (TInetSocket(Socket).Port<>CPort)) then
+    DisconnectFromServer;
+
   Repeat
     If Not IsConnected Then
       ConnectToServer(CHost,CPort,AIsHttps);