From 18b69b71abd85c917f0df56210ffe8b251ccc84b Mon Sep 17 00:00:00 2001 From: "nuck.tang" Date: Tue, 14 Jul 2020 11:08:20 +0800 Subject: [PATCH] Code optimization --- .gitignore | 8 +++ .../BlobStoring/Minio/MinioBlobProvider.cs | 49 +++++++++---------- .../Minio/MinioBlobProviderConfiguration.cs | 4 +- .../Minio/AbpBlobStoringMinioTestModule.cs | 3 +- .../Minio/MinioBlobContainer_Tests.cs | 23 ++++----- .../Minio/MinioBlobNameCalculator_Tests.cs | 1 - 6 files changed, 42 insertions(+), 46 deletions(-) diff --git a/.gitignore b/.gitignore index 1f14485237..2058b364a5 100644 --- a/.gitignore +++ b/.gitignore @@ -304,3 +304,11 @@ modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Logs/ /templates/app/angular/package-lock.json /modules/client-simulation/demo/Volo.ClientSimulation.Demo/package-lock.json +/framework/src/Volo.Abp.AspNetCore/Properties/launchSettings.json +/framework/src/Volo.Abp.AspNetCore.Authentication.OAuth/Properties/launchSettings.json +/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Properties/launchSettings.json +/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Properties/launchSettings.json +/framework/src/Volo.Abp.AspNetCore.Serilog/Properties/launchSettings.json +/framework/src/Volo.Abp.AspNetCore.SignalR/Properties/launchSettings.json +/framework/src/Volo.Abp.AspNetCore.TestBase/Properties/launchSettings.json +/framework/src/Volo.Abp.Http.Client.IdentityModel.Web/Properties/launchSettings.json diff --git a/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProvider.cs b/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProvider.cs index 5ecdfea5d4..54824b4ac4 100644 --- a/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProvider.cs +++ b/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProvider.cs @@ -2,7 +2,6 @@ using Minio.Exceptions; using System; using System.IO; -using System.Net; using System.Threading.Tasks; using Volo.Abp.DependencyInjection; @@ -66,30 +65,28 @@ namespace Volo.Abp.BlobStoring.Minio var blobName = MinioBlobNameCalculator.Calculate(args); var client = GetMinioClient(args); var containerName = GetContainerName(args); + if (!await BlobExistsAsync(client, containerName, blobName)) { return null; } var memoryStream = new MemoryStream(); - await client.GetObjectAsync(containerName, blobName, - (stream) => - { - if (stream != null) - { - stream.CopyTo(memoryStream); - } - else - { - memoryStream = null; - } - }); + await client.GetObjectAsync(containerName, blobName, stream => + { + if (stream != null) + { + stream.CopyTo(memoryStream); + } + else + { + memoryStream = null; + } + }); return memoryStream; - } - private MinioClient GetMinioClient(BlobProviderArgs args) { var configuration = args.Configuration.GetMinioConfiguration(); @@ -101,18 +98,14 @@ namespace Volo.Abp.BlobStoring.Minio } return client; - } - - protected virtual async Task CreateBucketIfNotExists(MinioClient client,string containerName) { if (!await client.BucketExistsAsync(containerName)) { await client.MakeBucketAsync(containerName); } - } private async Task BlobExistsAsync(MinioClient client, string containerName , string blobName) @@ -127,22 +120,25 @@ namespace Volo.Abp.BlobStoring.Minio // else it means that the object exists. // Execution is successful. await client.StatObjectAsync(containerName, blobName); - return true; } - catch (MinioException ex) - { - if(ex is ObjectNotFoundException) + catch (Exception e) + { + if (e is ObjectNotFoundException) { return false; } - - throw ex; + else + { + throw e; + } } + + return true; } return false; - } + private static string GetContainerName(BlobProviderArgs args) { var configuration = args.Configuration.GetMinioConfiguration(); @@ -152,6 +148,5 @@ namespace Volo.Abp.BlobStoring.Minio ? args.ContainerName.ToLower() : configuration.BucketName.ToLower(); } - } } diff --git a/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProviderConfiguration.cs b/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProviderConfiguration.cs index 03e951a984..63b0132d20 100644 --- a/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProviderConfiguration.cs +++ b/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProviderConfiguration.cs @@ -42,9 +42,7 @@ { get => _containerConfiguration.GetConfigurationOrDefault(MinioBlobProviderConfigurationNames.WithSSL, false); set => _containerConfiguration.SetConfiguration(MinioBlobProviderConfigurationNames.WithSSL, value); - } - - + } /// ///Default value: false. diff --git a/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/AbpBlobStoringMinioTestModule.cs b/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/AbpBlobStoringMinioTestModule.cs index cfe7b5b4cf..a65222c8c9 100644 --- a/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/AbpBlobStoringMinioTestModule.cs +++ b/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/AbpBlobStoringMinioTestModule.cs @@ -28,7 +28,6 @@ namespace Volo.Abp.BlobStoring.Minio private string _accessKey; private string _secretKey; - private readonly string _randomContainerName = "abp-minio-test-container-" + Guid.NewGuid().ToString("N"); public override void ConfigureServices(ServiceConfigurationContext context) @@ -70,7 +69,7 @@ namespace Volo.Abp.BlobStoring.Minio IDisposable subscription = observables.Subscribe( async item => await minioClient.RemoveObjectAsync(_randomContainerName, item.Key), async () => await minioClient.RemoveBucketAsync(_randomContainerName) - ); + ); } diff --git a/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/MinioBlobContainer_Tests.cs b/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/MinioBlobContainer_Tests.cs index 718766e9a5..a9c2776714 100644 --- a/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/MinioBlobContainer_Tests.cs +++ b/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/MinioBlobContainer_Tests.cs @@ -1,19 +1,16 @@ -using Shouldly; -using System.Threading.Tasks; -using Xunit; +using Xunit; namespace Volo.Abp.BlobStoring.Minio { + /* + //Please set the correct connection string in secrets.json and continue the test. - ////Please set the correct connection string in secrets.json and continue the test. - - //public class MinioBlobContainer_Tests : BlobContainer_Tests - //{ - // public MinioBlobContainer_Tests() - // { - - - // } - //} + public class MinioBlobContainer_Tests : BlobContainer_Tests + { + public MinioBlobContainer_Tests() + { + } + } + */ } diff --git a/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/MinioBlobNameCalculator_Tests.cs b/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/MinioBlobNameCalculator_Tests.cs index 712c849965..9d1954efc3 100644 --- a/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/MinioBlobNameCalculator_Tests.cs +++ b/framework/test/Volo.Abp.BlobStoring.Minio.Tests/Volo/Abp/BlobStoring/Minio/MinioBlobNameCalculator_Tests.cs @@ -10,7 +10,6 @@ namespace Volo.Abp.BlobStoring.Minio private readonly IMinioBlobNameCalculator _calculator; private readonly ICurrentTenant _currentTenant; - private const string MinioContainerName = "/"; private const string MinioSeparator = "/"; public MinioBlobNameCalculator_Tests()