public HttpRequestHeader(HttpRequestHeader req, string file = null)
 {
     Tag = req.Tag;
     AbsoluteFilePath = file ?? req.AbsoluteFilePath;
     RequestedTarget  = AbsoluteFilePath.Replace(Settings.ResourcePath, string.Empty).Replace("\\", "/");
     Client           = req.Client;
     System.Net.IPEndPoint remoteEndPoint = ((System.Net.IPEndPoint)Client.Client.RemoteEndPoint);
     ClientAddress     = remoteEndPoint.ToString();
     ClientIP          = remoteEndPoint.Address.ToString();
     ClientPort        = remoteEndPoint.Port;
     Server            = req.Server;
     HeaderKeys        = req.HeaderKeys;
     P_UploadFilePaths = req.P_UploadFilePaths;
     Parameters        = req.Parameters;
     Server.Settings.GetRepositoryByPath(req.AbsoluteFilePath, out Rule rule);
     Repository = rule;
 }