public static void AssertOptionsMatch(MinioClient client, MinioOptions options) { var clientType = client.GetType(); var endpoint = clientType .GetProperty(nameof(MinioOptions.Endpoint), BindingFlags.Instance | BindingFlags.NonPublic) ?.GetValue(client); Assert.Equal($"http://{options.Endpoint}", endpoint); var region = clientType .GetField(nameof(MinioOptions.Region), BindingFlags.Instance | BindingFlags.NonPublic) ?.GetValue(client); Assert.Equal(options.Region, region); var accessKey = clientType .GetProperty(nameof(MinioOptions.AccessKey), BindingFlags.Instance | BindingFlags.NonPublic) ?.GetValue(client); Assert.Equal(options.AccessKey, accessKey); var secretKey = clientType .GetProperty(nameof(MinioOptions.SecretKey), BindingFlags.Instance | BindingFlags.NonPublic) ?.GetValue(client); Assert.Equal(options.SecretKey, secretKey); var sessionToken = clientType .GetProperty(nameof(MinioOptions.SessionToken), BindingFlags.Instance | BindingFlags.NonPublic) ?.GetValue(client); Assert.Equal(options.SessionToken, sessionToken); }
public static IConveyBuilder AddMinio(this IConveyBuilder builder, MinioOptions minioOptions) { if (minioOptions.Secure) { builder.Services.AddScoped(x => new MinioClient(minioOptions.Url, minioOptions.AccessKey, minioOptions.SecretKey ).WithSSL()); } else { builder.Services.AddScoped(x => new MinioClient(minioOptions.Url, minioOptions.AccessKey, minioOptions.SecretKey )); } builder.Services.AddSingleton(minioOptions); builder.Services.AddTransient <IMinioService, MinioService>(); return(builder); }
public static MinioOptions BindMinioOptions(this IConfiguration configuration, MinioOptions minioOptions = null) { var options = minioOptions ?? new MinioOptions(); configuration.GetSection(MinioConfigSectionKey).Bind(options); return(options); }
public MinioService(MinioOptions minioOptions, MinioClient minioClient) { _minioOptions = minioOptions; _minioClient = minioClient; }