diff --git a/examples/BucketExists.cc b/examples/BucketExists.cc index 16fb2db..7707be8 100644 --- a/examples/BucketExists.cc +++ b/examples/BucketExists.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create bucket exists arguments. minio::s3::BucketExistsArgs args; diff --git a/examples/ComposeObject.cc b/examples/ComposeObject.cc index 2139fe6..ce9e6f4 100644 --- a/examples/ComposeObject.cc +++ b/examples/ComposeObject.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create compose object arguments. minio::s3::ComposeObjectArgs args; diff --git a/examples/CopyObject.cc b/examples/CopyObject.cc index d978a1f..a6d6085 100644 --- a/examples/CopyObject.cc +++ b/examples/CopyObject.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create copy object arguments. minio::s3::CopyObjectArgs args; diff --git a/examples/DeleteBucketEncryption.cc b/examples/DeleteBucketEncryption.cc index 851a0dd..4d8c89a 100644 --- a/examples/DeleteBucketEncryption.cc +++ b/examples/DeleteBucketEncryption.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create delete bucket encryption arguments. minio::s3::DeleteBucketEncryptionArgs args; diff --git a/examples/DeleteBucketLifecycle.cc b/examples/DeleteBucketLifecycle.cc index 51e8642..3a595c4 100644 --- a/examples/DeleteBucketLifecycle.cc +++ b/examples/DeleteBucketLifecycle.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create delete bucket lifecycle arguments. minio::s3::DeleteBucketLifecycleArgs args; diff --git a/examples/DeleteBucketNotification.cc b/examples/DeleteBucketNotification.cc index c296b05..6d2abd7 100644 --- a/examples/DeleteBucketNotification.cc +++ b/examples/DeleteBucketNotification.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create delete bucket notification arguments. minio::s3::DeleteBucketNotificationArgs args; diff --git a/examples/DeleteBucketPolicy.cc b/examples/DeleteBucketPolicy.cc index d459022..532f2ea 100644 --- a/examples/DeleteBucketPolicy.cc +++ b/examples/DeleteBucketPolicy.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create delete bucket policy arguments. minio::s3::DeleteBucketPolicyArgs args; diff --git a/examples/DeleteBucketReplication.cc b/examples/DeleteBucketReplication.cc index 851a0dd..4d8c89a 100644 --- a/examples/DeleteBucketReplication.cc +++ b/examples/DeleteBucketReplication.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create delete bucket encryption arguments. minio::s3::DeleteBucketEncryptionArgs args; diff --git a/examples/DeleteBucketTags.cc b/examples/DeleteBucketTags.cc index 3db668f..896b16a 100644 --- a/examples/DeleteBucketTags.cc +++ b/examples/DeleteBucketTags.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create delete bucket tags arguments. minio::s3::DeleteBucketTagsArgs args; diff --git a/examples/DeleteObjectLockConfig.cc b/examples/DeleteObjectLockConfig.cc index 4774755..1de8b22 100644 --- a/examples/DeleteObjectLockConfig.cc +++ b/examples/DeleteObjectLockConfig.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create delete object lock config arguments. minio::s3::DeleteObjectLockConfigArgs args; diff --git a/examples/DeleteObjectTags.cc b/examples/DeleteObjectTags.cc index 669bc4e..b4fa620 100644 --- a/examples/DeleteObjectTags.cc +++ b/examples/DeleteObjectTags.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create delete object tags arguments. minio::s3::DeleteObjectTagsArgs args; diff --git a/examples/DisableObjectLegalHold.cc b/examples/DisableObjectLegalHold.cc index 648314f..65efe46 100644 --- a/examples/DisableObjectLegalHold.cc +++ b/examples/DisableObjectLegalHold.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create disable object legal hold arguments. minio::s3::DisableObjectLegalHoldArgs args; diff --git a/examples/DownloadObject.cc b/examples/DownloadObject.cc index e1941b0..ff49675 100644 --- a/examples/DownloadObject.cc +++ b/examples/DownloadObject.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create download object arguments. minio::s3::DownloadObjectArgs args; diff --git a/examples/EnableObjectLegalHold.cc b/examples/EnableObjectLegalHold.cc index 5d6e09b..07d36e3 100644 --- a/examples/EnableObjectLegalHold.cc +++ b/examples/EnableObjectLegalHold.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create enable object legal hold arguments. minio::s3::EnableObjectLegalHoldArgs args; diff --git a/examples/GetBucketEncryption.cc b/examples/GetBucketEncryption.cc index f8987d2..e2718bd 100644 --- a/examples/GetBucketEncryption.cc +++ b/examples/GetBucketEncryption.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get bucket encryption arguments. minio::s3::GetBucketEncryptionArgs args; diff --git a/examples/GetBucketLifecycle.cc b/examples/GetBucketLifecycle.cc index bc6f28e..fe32fb8 100644 --- a/examples/GetBucketLifecycle.cc +++ b/examples/GetBucketLifecycle.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get bucket lifecycle arguments. minio::s3::GetBucketLifecycleArgs args; diff --git a/examples/GetBucketNotification.cc b/examples/GetBucketNotification.cc index 4732e8d..fbba5c9 100644 --- a/examples/GetBucketNotification.cc +++ b/examples/GetBucketNotification.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get bucket notification arguments. minio::s3::GetBucketNotificationArgs args; diff --git a/examples/GetBucketPolicy.cc b/examples/GetBucketPolicy.cc index 138aa8c..9db52e7 100644 --- a/examples/GetBucketPolicy.cc +++ b/examples/GetBucketPolicy.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get bucket policy arguments. minio::s3::GetBucketPolicyArgs args; diff --git a/examples/GetBucketReplication.cc b/examples/GetBucketReplication.cc index f8987d2..e2718bd 100644 --- a/examples/GetBucketReplication.cc +++ b/examples/GetBucketReplication.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get bucket encryption arguments. minio::s3::GetBucketEncryptionArgs args; diff --git a/examples/GetBucketTags.cc b/examples/GetBucketTags.cc index 81bd8b3..5670c5f 100644 --- a/examples/GetBucketTags.cc +++ b/examples/GetBucketTags.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get bucket tags arguments. minio::s3::GetBucketTagsArgs args; diff --git a/examples/GetBucketVersioning.cc b/examples/GetBucketVersioning.cc index 58aa543..7418951 100644 --- a/examples/GetBucketVersioning.cc +++ b/examples/GetBucketVersioning.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get bucket versioning arguments. minio::s3::GetBucketVersioningArgs args; diff --git a/examples/GetObject.cc b/examples/GetObject.cc index fbd311e..3a626a9 100644 --- a/examples/GetObject.cc +++ b/examples/GetObject.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get object arguments. minio::s3::GetObjectArgs args; diff --git a/examples/GetObjectLockConfig.cc b/examples/GetObjectLockConfig.cc index 4249d25..313ec8b 100644 --- a/examples/GetObjectLockConfig.cc +++ b/examples/GetObjectLockConfig.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get object lock config arguments. minio::s3::GetObjectLockConfigArgs args; diff --git a/examples/GetObjectProgress.cc b/examples/GetObjectProgress.cc index be65bbf..9ad43e0 100644 --- a/examples/GetObjectProgress.cc +++ b/examples/GetObjectProgress.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get object arguments. minio::s3::GetObjectArgs args; diff --git a/examples/GetObjectRetention.cc b/examples/GetObjectRetention.cc index 40587a3..5a6e57b 100644 --- a/examples/GetObjectRetention.cc +++ b/examples/GetObjectRetention.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get object retention arguments. minio::s3::GetObjectRetentionArgs args; diff --git a/examples/GetObjectTags.cc b/examples/GetObjectTags.cc index e862a7c..dbbf27d 100644 --- a/examples/GetObjectTags.cc +++ b/examples/GetObjectTags.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get object tags arguments. minio::s3::GetObjectTagsArgs args; diff --git a/examples/GetPresignedObjectUrl.cc b/examples/GetPresignedObjectUrl.cc index 8590645..fe97823 100644 --- a/examples/GetPresignedObjectUrl.cc +++ b/examples/GetPresignedObjectUrl.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get presigned object url arguments. minio::s3::GetPresignedObjectUrlArgs args; diff --git a/examples/GetPresignedPostFormData.cc b/examples/GetPresignedPostFormData.cc index c526b43..4f397d3 100644 --- a/examples/GetPresignedPostFormData.cc +++ b/examples/GetPresignedPostFormData.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create get presigned post form data arguments. minio::utils::UtcTime expiration = minio::utils::UtcTime::Now(); diff --git a/examples/IsObjectLegalHoldEnabled.cc b/examples/IsObjectLegalHoldEnabled.cc index 781bbf0..6045362 100644 --- a/examples/IsObjectLegalHoldEnabled.cc +++ b/examples/IsObjectLegalHoldEnabled.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create is object legal hold enabled arguments. minio::s3::IsObjectLegalHoldEnabledArgs args; diff --git a/examples/ListBuckets.cc b/examples/ListBuckets.cc index 39a095e..25f3538 100644 --- a/examples/ListBuckets.cc +++ b/examples/ListBuckets.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Call list buckets. minio::s3::ListBucketsResponse resp = client.ListBuckets(); diff --git a/examples/ListObjects.cc b/examples/ListObjects.cc index 3bc3595..5af7a02 100644 --- a/examples/ListObjects.cc +++ b/examples/ListObjects.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create list objects arguments. minio::s3::ListObjectsArgs args; diff --git a/examples/ListenBucketNotification.cc b/examples/ListenBucketNotification.cc index 2f8ede4..4d56fb9 100644 --- a/examples/ListenBucketNotification.cc +++ b/examples/ListenBucketNotification.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create listen bucket notification arguments. minio::s3::ListenBucketNotificationArgs args; diff --git a/examples/MakeBucket.cc b/examples/MakeBucket.cc index 44837bc..dbfd2d8 100644 --- a/examples/MakeBucket.cc +++ b/examples/MakeBucket.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create make bucket arguments. minio::s3::MakeBucketArgs args; diff --git a/examples/PutObject.cc b/examples/PutObject.cc index 0857b2a..65df902 100644 --- a/examples/PutObject.cc +++ b/examples/PutObject.cc @@ -29,11 +29,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create put object arguments. std::ifstream file("my-object.csv"); diff --git a/examples/PutObjectProgress.cc b/examples/PutObjectProgress.cc index 48c99f1..0d1b3a0 100644 --- a/examples/PutObjectProgress.cc +++ b/examples/PutObjectProgress.cc @@ -30,11 +30,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create put object arguments. std::ifstream file("my-object.csv"); diff --git a/examples/RemoveBucket.cc b/examples/RemoveBucket.cc index 0045e0f..878f9d0 100644 --- a/examples/RemoveBucket.cc +++ b/examples/RemoveBucket.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create remove bucket arguments. minio::s3::RemoveBucketArgs args; diff --git a/examples/RemoveObject.cc b/examples/RemoveObject.cc index 8525728..b46c8b8 100644 --- a/examples/RemoveObject.cc +++ b/examples/RemoveObject.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create remove object arguments. minio::s3::RemoveObjectArgs args; diff --git a/examples/RemoveObjects.cc b/examples/RemoveObjects.cc index 35b1436..810214c 100644 --- a/examples/RemoveObjects.cc +++ b/examples/RemoveObjects.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create remove object arguments. minio::s3::RemoveObjectsArgs args; diff --git a/examples/SelectObjectContent.cc b/examples/SelectObjectContent.cc index 7538a77..a0f8afe 100644 --- a/examples/SelectObjectContent.cc +++ b/examples/SelectObjectContent.cc @@ -21,11 +21,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); std::string expression = "select * from S3Object"; minio::s3::CsvInputSerialization csv_input; diff --git a/examples/SetBucketEncryption.cc b/examples/SetBucketEncryption.cc index e249411..3adcef0 100644 --- a/examples/SetBucketEncryption.cc +++ b/examples/SetBucketEncryption.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create set bucket encryption arguments. minio::s3::SseConfig sseS3Config = minio::s3::SseConfig::S3(); diff --git a/examples/SetBucketLifecycle.cc b/examples/SetBucketLifecycle.cc index c358f23..640ded7 100644 --- a/examples/SetBucketLifecycle.cc +++ b/examples/SetBucketLifecycle.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create set bucket lifecycle arguments. minio::s3::LifecycleConfig config; diff --git a/examples/SetBucketNotification.cc b/examples/SetBucketNotification.cc index dddbb86..bddf9a8 100644 --- a/examples/SetBucketNotification.cc +++ b/examples/SetBucketNotification.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); minio::s3::QueueConfig qconfig; qconfig.queue = "QUEUE-ARN-OF-THIS-BUCKET"; diff --git a/examples/SetBucketPolicy.cc b/examples/SetBucketPolicy.cc index 0a25c18..fb0cc94 100644 --- a/examples/SetBucketPolicy.cc +++ b/examples/SetBucketPolicy.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create set bucket policy arguments. minio::s3::SetBucketPolicyArgs args; diff --git a/examples/SetBucketReplication.cc b/examples/SetBucketReplication.cc index e9758f2..d747829 100644 --- a/examples/SetBucketReplication.cc +++ b/examples/SetBucketReplication.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create set bucket replication arguments. minio::s3::ReplicationRule rule; diff --git a/examples/SetBucketTags.cc b/examples/SetBucketTags.cc index b0be1da..ff1a1e3 100644 --- a/examples/SetBucketTags.cc +++ b/examples/SetBucketTags.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create set bucket tags arguments. minio::s3::SetBucketTagsArgs args; diff --git a/examples/SetBucketVersioning.cc b/examples/SetBucketVersioning.cc index 26627df..f0cc858 100644 --- a/examples/SetBucketVersioning.cc +++ b/examples/SetBucketVersioning.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create set bucket versioning arguments. minio::s3::SetBucketVersioningArgs args; diff --git a/examples/SetObjectLockConfig.cc b/examples/SetObjectLockConfig.cc index 77236da..99d652f 100644 --- a/examples/SetObjectLockConfig.cc +++ b/examples/SetObjectLockConfig.cc @@ -13,18 +13,27 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include + +#include "args.h" #include "client.h" +#include "providers.h" +#include "request.h" +#include "response.h" +#include "types.h" int main() { // Create S3 base URL. minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create set object lock config arguments. minio::s3::SetObjectLockConfigArgs args; diff --git a/examples/SetObjectRetention.cc b/examples/SetObjectRetention.cc index 36b503e..e671dd6 100644 --- a/examples/SetObjectRetention.cc +++ b/examples/SetObjectRetention.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create set object retention arguments. minio::s3::SetObjectRetentionArgs args; diff --git a/examples/SetObjectTags.cc b/examples/SetObjectTags.cc index fa67550..1cff5a6 100644 --- a/examples/SetObjectTags.cc +++ b/examples/SetObjectTags.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create set object tags arguments. minio::s3::SetObjectTagsArgs args; diff --git a/examples/StatObject.cc b/examples/StatObject.cc index ac367b2..8cf8402 100644 --- a/examples/StatObject.cc +++ b/examples/StatObject.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create stat object arguments. minio::s3::StatObjectArgs args; diff --git a/examples/UploadObject.cc b/examples/UploadObject.cc index 364bbc1..3f01c2f 100644 --- a/examples/UploadObject.cc +++ b/examples/UploadObject.cc @@ -20,11 +20,11 @@ int main() { minio::s3::BaseUrl base_url("play.min.io"); // Create credential provider. - minio::creds::StaticProvider provider( + auto provider = std::make_unique( "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"); // Create S3 client. - minio::s3::Client client(base_url, &provider); + minio::s3::Client client(base_url, std::move(provider)); // Create upload object arguments. minio::s3::UploadObjectArgs args; diff --git a/include/baseclient.h b/include/baseclient.h index fcf4cc4..d5ece89 100644 --- a/include/baseclient.h +++ b/include/baseclient.h @@ -17,6 +17,7 @@ #define _MINIO_S3_BASE_CLIENT_H #include +#include #include #include @@ -41,7 +42,7 @@ utils::Multimap GetCommonListObjectsQueryParams( class BaseClient { protected: BaseUrl base_url_; - creds::Provider* const provider_ = nullptr; + std::shared_ptr provider_; std::map region_map_; bool debug_ = false; bool ignore_cert_check_ = false; @@ -50,7 +51,7 @@ class BaseClient { public: explicit BaseClient(BaseUrl base_url, - creds::Provider* const provider = nullptr); + std::shared_ptr provider = nullptr); virtual ~BaseClient() = default; diff --git a/include/client.h b/include/client.h index e5d40dd..51aafce 100644 --- a/include/client.h +++ b/include/client.h @@ -17,6 +17,7 @@ #define _MINIO_S3_CLIENT_H #include +#include #include #include "args.h" @@ -32,7 +33,7 @@ class Client; class ListObjectsResult { private: - Client* client_ = nullptr; + std::shared_ptr client_ = nullptr; ListObjectsArgs args_; bool failed_ = false; ListObjectsResponse resp_; @@ -42,8 +43,9 @@ class ListObjectsResult { public: explicit ListObjectsResult(error::Error err); - ListObjectsResult(Client* const client, const ListObjectsArgs& args); - ListObjectsResult(Client* const client, ListObjectsArgs&& args); + ListObjectsResult(std::shared_ptr client, + const ListObjectsArgs& args); + ListObjectsResult(std::shared_ptr client, ListObjectsArgs&& args); ~ListObjectsResult() = default; Item& operator*() const { return *itr_; } @@ -66,7 +68,7 @@ class ListObjectsResult { class RemoveObjectsResult { private: - Client* client_ = nullptr; + std::shared_ptr client_ = nullptr; RemoveObjectsArgs args_; bool done_ = false; RemoveObjectsResponse resp_; @@ -76,8 +78,9 @@ class RemoveObjectsResult { public: explicit RemoveObjectsResult(error::Error err); - RemoveObjectsResult(Client* const client, const RemoveObjectsArgs& args); - RemoveObjectsResult(Client* const client, RemoveObjectsArgs&& args); + RemoveObjectsResult(std::shared_ptr client, + const RemoveObjectsArgs& args); + RemoveObjectsResult(std::shared_ptr client, RemoveObjectsArgs&& args); ~RemoveObjectsResult() = default; DeleteError& operator*() const { return *itr_; } @@ -100,7 +103,7 @@ class RemoveObjectsResult { * Simple Storage Service (aka S3) client to perform bucket and object * operations. */ -class Client : public BaseClient { +class Client : public BaseClient, std::enable_shared_from_this { protected: StatObjectResponse CalculatePartCount(size_t& part_count, std::list sources); @@ -110,7 +113,8 @@ class Client : public BaseClient { char* buf); public: - explicit Client(BaseUrl& base_url, creds::Provider* const provider = nullptr); + explicit Client(const BaseUrl& base_url, + std::shared_ptr provider = nullptr); ~Client() = default; ComposeObjectResponse ComposeObject(ComposeObjectArgs args); diff --git a/include/request.h b/include/request.h index 67597a1..a5f227e 100644 --- a/include/request.h +++ b/include/request.h @@ -16,6 +16,7 @@ #ifndef _MINIO_REQUEST_H #define _MINIO_REQUEST_H +#include #include #include @@ -131,10 +132,11 @@ struct Request { ~Request() = default; - http::Request ToHttpRequest(creds::Provider* const provider = nullptr); + http::Request ToHttpRequest( + std::shared_ptr provider = nullptr); private: - void BuildHeaders(http::Url& url, creds::Provider* const provider); + void BuildHeaders(http::Url& url, std::shared_ptr provider); }; // struct Request } // namespace s3 } // namespace minio diff --git a/include/utils.h b/include/utils.h index 8453a5c..2d0154d 100644 --- a/include/utils.h +++ b/include/utils.h @@ -16,11 +16,7 @@ #ifndef _MINIO_UTILS_H #define _MINIO_UTILS_H -#ifndef _WIN32 -#include -#endif - -#include +#include #include #include #include @@ -120,8 +116,8 @@ class UtcTime { public: UtcTime() = default; - UtcTime(std::time_t secs) : secs_(secs) {} - UtcTime(std::time_t secs, long usecs) : secs_(secs), usecs_(usecs) {} + explicit UtcTime(std::time_t secs) : secs_(secs) {} + explicit UtcTime(std::time_t secs, long usecs) : secs_(secs), usecs_(usecs) {} ~UtcTime() = default; diff --git a/src/baseclient.cc b/src/baseclient.cc index 792261e..36f1696 100644 --- a/src/baseclient.cc +++ b/src/baseclient.cc @@ -52,7 +52,8 @@ minio::utils::Multimap minio::s3::GetCommonListObjectsQueryParams( return query_params; } -minio::s3::BaseClient::BaseClient(BaseUrl base_url, creds::Provider* provider) +minio::s3::BaseClient::BaseClient(BaseUrl base_url, + std::shared_ptr provider) : base_url_(std::move(base_url)), provider_(provider) { if (!base_url_) { std::cerr << "valid base url must be provided; " << base_url_.Error() diff --git a/src/client.cc b/src/client.cc index 7444b53..09b274c 100644 --- a/src/client.cc +++ b/src/client.cc @@ -41,15 +41,15 @@ minio::s3::ListObjectsResult::ListObjectsResult(error::Error err) this->itr_ = resp_.contents.begin(); } -minio::s3::ListObjectsResult::ListObjectsResult(Client* const client, +minio::s3::ListObjectsResult::ListObjectsResult(std::shared_ptr client, const ListObjectsArgs& args) - : client_(client), args_(args) { + : client_(std::move(client)), args_(args) { Populate(); } -minio::s3::ListObjectsResult::ListObjectsResult(Client* const client, +minio::s3::ListObjectsResult::ListObjectsResult(std::shared_ptr client, ListObjectsArgs&& args) - : client_(client), args_(std::move(args)) { + : client_(std::move(client)), args_(std::move(args)) { Populate(); } @@ -100,14 +100,14 @@ minio::s3::RemoveObjectsResult::RemoveObjectsResult(error::Error err) { } minio::s3::RemoveObjectsResult::RemoveObjectsResult( - Client* const client, const RemoveObjectsArgs& args) - : client_(client), args_(args) { + std::shared_ptr client, const RemoveObjectsArgs& args) + : client_(std::move(client)), args_(args) { Populate(); } -minio::s3::RemoveObjectsResult::RemoveObjectsResult(Client* const client, - RemoveObjectsArgs&& args) - : client_(client), args_(args) { +minio::s3::RemoveObjectsResult::RemoveObjectsResult( + std::shared_ptr client, RemoveObjectsArgs&& args) + : client_(std::move(client)), args_(args) { Populate(); } @@ -141,8 +141,9 @@ void minio::s3::RemoveObjectsResult::Populate() { } } -minio::s3::Client::Client(BaseUrl& base_url, creds::Provider* const provider) - : BaseClient(base_url, provider) {} +minio::s3::Client::Client(const BaseUrl& base_url, + std::shared_ptr provider) + : BaseClient(base_url, std::move(provider)) {} minio::s3::StatObjectResponse minio::s3::Client::CalculatePartCount( size_t& part_count, std::list sources) { @@ -735,7 +736,7 @@ minio::s3::ListObjectsResult minio::s3::Client::ListObjects( if (error::Error err = args.Validate()) { return ListObjectsResult(err); } - return ListObjectsResult(this, std::move(args)); + return ListObjectsResult(shared_from_this(), std::move(args)); } minio::s3::PutObjectResponse minio::s3::Client::PutObject(PutObjectArgs args) { @@ -805,5 +806,5 @@ minio::s3::RemoveObjectsResult minio::s3::Client::RemoveObjects( if (error::Error err = args.Validate()) { return RemoveObjectsResult(err); } - return RemoveObjectsResult(this, std::move(args)); + return RemoveObjectsResult(shared_from_this(), std::move(args)); } diff --git a/src/request.cc b/src/request.cc index 30ead66..eda299c 100644 --- a/src/request.cc +++ b/src/request.cc @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -271,8 +272,8 @@ minio::s3::Request::Request(http::Method method, std::string region, headers(std::move(extra_headers)), query_params(std::move(extra_query_params)) {} -void minio::s3::Request::BuildHeaders(http::Url& url, - creds::Provider* const provider) { +void minio::s3::Request::BuildHeaders( + http::Url& url, std::shared_ptr provider) { headers.Add("Host", url.HostHeaderValue()); headers.Add("User-Agent", user_agent); @@ -314,7 +315,7 @@ void minio::s3::Request::BuildHeaders(http::Url& url, } minio::http::Request minio::s3::Request::ToHttpRequest( - creds::Provider* const provider) { + std::shared_ptr provider) { http::Url url; if (error::Error err = base_url.BuildUrl(url, method, region, query_params, bucket_name, object_name)) { @@ -322,7 +323,7 @@ minio::http::Request minio::s3::Request::ToHttpRequest( << ". This should not happen" << std::endl; std::terminate(); } - BuildHeaders(url, provider); + BuildHeaders(url, std::move(provider)); http::Request request(method, url); request.body = body; diff --git a/src/utils.cc b/src/utils.cc index 2762b86..ad822f2 100644 --- a/src/utils.cc +++ b/src/utils.cc @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include diff --git a/tests/tests.cc b/tests/tests.cc index f836dbe..9ab97a8 100644 --- a/tests/tests.cc +++ b/tests/tests.cc @@ -731,8 +731,9 @@ int main(int /*argc*/, char* /*argv*/[]) { minio::s3::BaseUrl base_url(host, secure); - minio::creds::StaticProvider provider(access_key, secret_key); - minio::s3::Client client(base_url, &provider); + auto provider = + std::make_unique(access_key, secret_key); + minio::s3::Client client(base_url, std::move(provider)); if (secure) client.IgnoreCertCheck(ignore_cert_check); Tests tests(client);