/// <summary>Add SimpleS3 services to a service collection.</summary> /// <param name="collection">The service collection</param> public static IClientBuilder AddAmazonS3(this IServiceCollection collection) { ICoreBuilder coreBuilder = SimpleS3CoreServices.AddSimpleS3Core(collection); coreBuilder.UseAmazonS3(); IHttpClientBuilder httpBuilder = coreBuilder.UseHttpClientFactory(); httpBuilder.UseDefaultHttpPolicy(); coreBuilder.Services.AddSingleton(x => { //We have to call a specific constructor for dependency injection IObjectClient objectClient = x.GetRequiredService <IObjectClient>(); IBucketClient bucketClient = x.GetRequiredService <IBucketClient>(); IMultipartClient multipartClient = x.GetRequiredService <IMultipartClient>(); IMultipartTransfer multipartTransfer = x.GetRequiredService <IMultipartTransfer>(); ITransfer transfer = x.GetRequiredService <ITransfer>(); ISignedObjectClient?signedObjectClient = x.GetRequiredService <ISignedObjectClient>(); return(new AmazonS3Client(objectClient, bucketClient, multipartClient, multipartTransfer, transfer, signedObjectClient)); }); //Add the client as the interface too coreBuilder.Services.AddSingleton <ISimpleClient>(x => x.GetRequiredService <AmazonS3Client>()); return(new ClientBuilder(collection, httpBuilder, coreBuilder)); }
internal Upload(IObjectOperations objectOperations, IMultipartTransfer multipartTransfer, string bucket, string objectKey) { _objectOperations = objectOperations; _multipartTransfer = multipartTransfer; _request = new PutObjectRequest(bucket, objectKey, null); }
protected void Initialize(IObjectClient objectClient, IBucketClient bucketClient, IMultipartClient multipartClient, IMultipartTransfer multipartTransfer, ITransfer transfer, ISignedObjectClient signedObjectClient) { _objectClient = objectClient; _bucketClient = bucketClient; _multipartClient = multipartClient; _multipartTransfer = multipartTransfer; _transfer = transfer; _signedObjectClient = signedObjectClient; }
private void Build(IServiceCollection services) { _serviceProvider = services.BuildServiceProvider(); IObjectClient objectClient = _serviceProvider.GetRequiredService <IObjectClient>(); IBucketClient bucketClient = _serviceProvider.GetRequiredService <IBucketClient>(); IMultipartClient multipartClient = _serviceProvider.GetRequiredService <IMultipartClient>(); IMultipartTransfer multipartTransfer = _serviceProvider.GetRequiredService <IMultipartTransfer>(); ITransfer transfer = _serviceProvider.GetRequiredService <ITransfer>(); ISignedObjectClient signedObjectClient = _serviceProvider.GetRequiredService <ISignedObjectClient>(); Client = new SimpleClient(objectClient, bucketClient, multipartClient, multipartTransfer, transfer, signedObjectClient); }
internal AmazonS3Client(IObjectClient objectClient, IBucketClient bucketClient, IMultipartClient multipartClient, IMultipartTransfer multipartTransfer, ITransfer transfer, ISignedObjectClient signedObjectClient) : base(objectClient, bucketClient, multipartClient, multipartTransfer, transfer, signedObjectClient) { }
public Transfer(IObjectOperations objectOperations, IMultipartTransfer multipartTransfer) { _objectOperations = objectOperations; _multipartTransfer = multipartTransfer; }
internal GoogleCloudStorageClient(IObjectClient objectClient, IBucketClient bucketClient, IMultipartClient multipartClient, IMultipartTransfer multipartTransfer, ITransfer transfer, ISignedObjectClient signedObjectClient) : base(objectClient, bucketClient, multipartClient, multipartTransfer, transfer, signedObjectClient) { }
internal Download(IObjectOperations operations, IMultipartTransfer multipartTransfer, string bucket, string objectKey) { _request = new GetObjectRequest(bucket, objectKey); _operations = operations; _multipartTransfer = multipartTransfer; }
protected internal ClientBase(IObjectClient objectClient, IBucketClient bucketClient, IMultipartClient multipartClient, IMultipartTransfer multipartTransfer, ITransfer transfer, ISignedObjectClient signedObjectClient) { Client = new SimpleClient(objectClient, bucketClient, multipartClient, multipartTransfer, transfer, signedObjectClient); }
public SimpleClient(IObjectClient objectClient, IBucketClient bucketClient, IMultipartClient multipartClient, IMultipartTransfer multipartTransfer, ITransfer transfer, ISignedObjectClient signedObject) { Initialize(objectClient, bucketClient, multipartClient, multipartTransfer, transfer, signedObject); }