anchor.diff:  
   function TvtxWSServer.GetWebSocketConnectionClass(
             Socket: TTCPCustomConnectionSocket;
  -		      Header: TStringList;
  -		      ResourceName, sHost, sPort, Origin, Cookie: string;
  +          Header: TStringList;
  +          ResourceName, sHost, sPort, Origin, Cookie: string;
         out HttpResult: integer;
         var Protocol, Extensions: string): TWebSocketServerConnections;
   begin
  
positive.code:     str := '';
      if fileexists(filename) then
      begin
  			assign(fin, filename);
        reset(fin);
  			while not eof(fin) do
        begin
          readln(fin, linein);
          str += CodePageConverters[cp](linein) + CRLF;
  
negative.code:     parms := SystemInfo.ExtProcess.Split(' ');
      for i := 0 to length(parms) - 1 do
      begin
        parms[i] := parms[i].Replace('@UserIP@', self.serverCon.Socket.GetRemoteSinIP);
        parms[i] := parms[i].Replace('@SystemIP@', SystemInfo.SystemIP);
        parms[i] := parms[i].Replace('@InternetIP@', SystemInfo.InternetIP);
        parms[i] := parms[i].Replace('@SystemName@', SystemInfo.SystemName);
        parms[i] := parms[i].Replace('@HTTPPort@', SystemInfo.HTTPPort);
        parms[i] := parms[i].Replace('@WSPort@', SystemInfo.WSPort);
      end;
  
      self.serverCon.ExtProcess := TProcess.Create(nil);
      self.serverCon.ExtProcess.CurrentDirectory:= 'node';
      self.serverCon.ExtProcess.FreeOnRelease;
      self.serverCon.ExtProcess.Executable := 'node\' + parms[0];
      for i := 1 to length(parms) - 1 do
        serverCon.ExtProcess.Parameters.Add(parms[i]);
      serverCon.ExtProcess.Options := [
          poWaitOnExit,
          poUsePipes,
          poNoConsole,
          poDefaultErrorMode,
          poNewProcessGroup
        ];
  
      // go run. wait on exit.
      try
        serverCon.ExtProcess.Execute;
      except
        fProgress:='** Error on ProcessNanny.Execute';
        Synchronize(@DoProgress);
      end;
  //    serverCon.ExtProcess.Free;
  
      // diconnect afterwards.
      self.serverCon.Close(wsCloseNormal, 'Good bye');
  
      fProgress := 'Finished process for '
        + self.serverCon.Socket.GetRemoteSinIP + '.';
      Synchronize(@DoProgress);
  
    end;
  