public static FileShareResult Share(FileShare share) { if (share == null) { return(new FileShareResult(null)); } //check for cheeky directory traversal attempts if (!CryptoHelper.IsHashValid(share?.FileId)) { //TODO: make the user regret this return(new FileShareResult(share)); } if (!FileExists(share.FileId)) { return(new FileShareResult(share)); } var urlKey = WebServer.AddShare(share); var res = new FileShareResult(share, Config.Dfs.ExternalWebServerUrl + "/" + urlKey); return(res); }