Headless.RelaxedFolderLocationValidator.MakeSafeFolderLocation C# (CSharp) Method

MakeSafeFolderLocation() private method

Makes the safe folder location.
private MakeSafeFolderLocation ( Uri location ) : Uri
location System.Uri /// The location. ///
return System.Uri
        private Uri MakeSafeFolderLocation(Uri location)
        {
            var path = location.GetComponents(UriComponents.Path, CompareFormat);

            if (string.IsNullOrEmpty(path))
            {
                return location;
            }

            if (path.EndsWith("/", StringComparison.OrdinalIgnoreCase))
            {
                return location;
            }

            // Check for a file name
            var folderIndex = path.LastIndexOf("/", StringComparison.OrdinalIgnoreCase);

            if (folderIndex > -1)
            {
                var finalPart = path.Substring(folderIndex + 1);

                if (finalPart.IndexOf(".", StringComparison.OrdinalIgnoreCase) > -1)
                {
                    // This looks like a file so this location should not be converted
                    return location;
                }
            }

            var originalLocation = location.ToString();
            var updatedLocation = originalLocation.Replace(path, path + "/");

            return new Uri(updatedLocation);
        }