Example #1
0
        protected virtual BlobContainerClient GetBlobContainerClient(FileProviderArgs args)
        {
            var configuration     = args.Configuration.GetAzureConfiguration();
            var blobServiceClient = new BlobServiceClient(configuration.ConnectionString);

            return(blobServiceClient.GetBlobContainerClient(GetContainerName(args)));
        }
Example #2
0
        private string GetContainerName(FileProviderArgs args)
        {
            var configuration = args.Configuration.GetAzureConfiguration();

            return(configuration.ContainerName.IsNullOrWhiteSpace()
                ? args.ContainerName
                : configuration.ContainerName);
        }
        private string GetContainerName(FileProviderArgs args)
        {
            var configuration = args.Configuration.GetAzureConfiguration();

            return(configuration.ContainerName.IsNullOrWhiteSpace()
                ? args.ContainerName
                : FileNormalizeNamingService.NormalizeContainerName(args.Configuration, configuration.ContainerName));
        }
Example #4
0
        protected virtual MinioClient GetMinioClient(FileProviderArgs args)
        {
            var configuration = args.Configuration.GetMinioConfiguration();
            var client        = new MinioClient(configuration.EndPoint, configuration.AccessKey, configuration.SecretKey);

            if (configuration.WithSSL)
            {
                client.WithSSL();
            }

            return(client);
        }
Example #5
0
        protected virtual IAmazonS3 GetS3Client(FileProviderArgs args)
        {
            var configuration = args.Configuration.GetS3Configuration();

            var containerName = GetContainerName(args);

            var amazonS3 = S3ClientFactory.GetOrAdd(containerName, () =>
            {
                var s3ClientConfiguration = new S3ClientConfiguration()
                {
                    Vendor          = (S3VendorType)configuration.VendorType,
                    AccessKeyId     = configuration.AccessKeyId,
                    SecretAccessKey = configuration.SecretAccessKey,
                    MaxClient       = configuration.MaxClient,
                };

                if (configuration.VendorType == (int)S3VendorType.KS3)
                {
                    s3ClientConfiguration.Config = new AmazonS3Config()
                    {
                        ServiceURL       = configuration.ServerUrl,
                        ForcePathStyle   = configuration.ForcePathStyle,
                        SignatureVersion = configuration.SignatureVersion
                    };
                }
                else
                {
                    s3ClientConfiguration.Config = new AmazonKS3Config()
                    {
                        ServiceURL       = configuration.ServerUrl,
                        ForcePathStyle   = configuration.ForcePathStyle,
                        SignatureVersion = configuration.SignatureVersion
                    };
                }

                return(s3ClientConfiguration);
            });

            return(amazonS3);
        }
        protected virtual string CalculateRelativePath(FileProviderArgs args)
        {
            var fileSystemConfiguration = args.Configuration.GetFileSystemConfiguration();
            var relativePathBuilder     = new StringBuilder();

            if (CurrentTenant.Id == null)
            {
                relativePathBuilder.Append("/host");
            }
            else
            {
                relativePathBuilder.Append($"/tenants/{CurrentTenant.Id.Value.ToString("D")}");
            }

            if (fileSystemConfiguration.AppendContainerNameToBasePath)
            {
                relativePathBuilder.Append($"/{args.ContainerName}");
            }

            relativePathBuilder.Append($"/{args.FileId}");
            return(relativePathBuilder.ToString());
        }
Example #7
0
        public virtual string Calculate(FileProviderArgs args)
        {
            var fileSystemConfiguration = args.Configuration.GetFileSystemConfiguration();
            var filePath = fileSystemConfiguration.BasePath;

            if (CurrentTenant.Id == null)
            {
                filePath = Path.Combine(filePath, "host");
            }
            else
            {
                filePath = Path.Combine(filePath, "tenants", CurrentTenant.Id.Value.ToString("D"));
            }

            if (fileSystemConfiguration.AppendContainerNameToBasePath)
            {
                filePath = Path.Combine(filePath, args.ContainerName);
            }

            filePath = Path.Combine(filePath, args.FileId);

            return(filePath);
        }
Example #8
0
 public virtual string Calculate(FileProviderArgs args)
 {
     return(args.FileId);
 }
Example #9
0
        protected virtual BlobClient GetBlobClient(FileProviderArgs args, string fileName)
        {
            var blobContainerClient = GetBlobContainerClient(args);

            return(blobContainerClient.GetBlobClient(fileName));
        }
Example #10
0
 private async Task <bool> FileExistsAsync(FileProviderArgs args, string fileName)
 {
     // Make sure Blob Container exists.
     return(await ContainerExistsAsync(GetBlobContainerClient(args)) &&
            (await GetBlobClient(args, fileName).ExistsAsync()).Value);
 }
Example #11
0
 protected virtual async Task CreateContainerIfNotExists(FileProviderArgs args)
 {
     var blobContainerClient = GetBlobContainerClient(args);
     await blobContainerClient.CreateIfNotExistsAsync();
 }
Example #12
0
 public virtual string Calculate(FileProviderArgs args)
 {
     return(CurrentTenant.Id == null
         ? $"host/{args.FileId}"
         : $"tenants/{CurrentTenant.Id.Value:D}/{args.FileId}");
 }
 private string GetContainerName(FastDFSFileProviderConfiguration configuration, FileProviderArgs args)
 {
     return(configuration.GroupName.IsNullOrWhiteSpace()
         ? args.ContainerName
         : FileNormalizeNamingService.NormalizeContainerName(args.Configuration, configuration.GroupName));
 }
Example #14
0
 private static string GetContainerName(FastDFSFileProviderConfiguration configuration, FileProviderArgs args)
 {
     return(configuration.GroupName.IsNullOrWhiteSpace()
         ? args.ContainerName
         : configuration.GroupName);
 }