// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #include "google/cloud/storage/internal/hybrid_client.h" namespace google { namespace cloud { namespace storage { inline namespace STORAGE_CLIENT_NS { namespace internal { HybridClient::HybridClient(ClientOptions options) : grpc_(std::make_shared(options)), curl_(CurlClient::Create(std::move(options))) {} ClientOptions const& HybridClient::client_options() const { return curl_->client_options(); } StatusOr HybridClient::ListBuckets( ListBucketsRequest const& request) { return curl_->ListBuckets(request); } StatusOr HybridClient::CreateBucket( CreateBucketRequest const& request) { return curl_->CreateBucket(request); } StatusOr HybridClient::GetBucketMetadata( GetBucketMetadataRequest const& request) { return curl_->GetBucketMetadata(request); } StatusOr HybridClient::DeleteBucket( DeleteBucketRequest const& request) { return curl_->DeleteBucket(request); } StatusOr HybridClient::UpdateBucket( UpdateBucketRequest const& request) { return curl_->UpdateBucket(request); } StatusOr HybridClient::PatchBucket( PatchBucketRequest const& request) { return curl_->PatchBucket(request); } StatusOr HybridClient::GetBucketIamPolicy( GetBucketIamPolicyRequest const& request) { return curl_->GetBucketIamPolicy(request); } StatusOr HybridClient::GetNativeBucketIamPolicy( GetBucketIamPolicyRequest const& request) { return curl_->GetNativeBucketIamPolicy(request); } StatusOr HybridClient::SetBucketIamPolicy( SetBucketIamPolicyRequest const& request) { return curl_->SetBucketIamPolicy(request); } StatusOr HybridClient::SetNativeBucketIamPolicy( SetNativeBucketIamPolicyRequest const& request) { return curl_->SetNativeBucketIamPolicy(request); } StatusOr HybridClient::TestBucketIamPermissions( TestBucketIamPermissionsRequest const& request) { return curl_->TestBucketIamPermissions(request); } StatusOr HybridClient::LockBucketRetentionPolicy( LockBucketRetentionPolicyRequest const& request) { return curl_->LockBucketRetentionPolicy(request); } StatusOr HybridClient::InsertObjectMedia( InsertObjectMediaRequest const& request) { return grpc_->InsertObjectMedia(request); } StatusOr HybridClient::CopyObject( CopyObjectRequest const& request) { return curl_->CopyObject(request); } StatusOr HybridClient::GetObjectMetadata( GetObjectMetadataRequest const& request) { return curl_->GetObjectMetadata(request); } StatusOr> HybridClient::ReadObject( ReadObjectRangeRequest const& request) { return grpc_->ReadObject(request); } StatusOr HybridClient::ListObjects( ListObjectsRequest const& request) { return curl_->ListObjects(request); } StatusOr HybridClient::DeleteObject( DeleteObjectRequest const& request) { return curl_->DeleteObject(request); } StatusOr HybridClient::UpdateObject( UpdateObjectRequest const& request) { return curl_->UpdateObject(request); } StatusOr HybridClient::PatchObject( PatchObjectRequest const& request) { return curl_->PatchObject(request); } StatusOr HybridClient::ComposeObject( ComposeObjectRequest const& request) { return curl_->ComposeObject(request); } StatusOr HybridClient::RewriteObject( RewriteObjectRequest const& request) { return curl_->RewriteObject(request); } StatusOr> HybridClient::CreateResumableSession(ResumableUploadRequest const& request) { return grpc_->CreateResumableSession(request); } StatusOr> HybridClient::RestoreResumableSession(std::string const& upload_id) { return grpc_->RestoreResumableSession(upload_id); } StatusOr HybridClient::DeleteResumableUpload( DeleteResumableUploadRequest const& request) { return curl_->DeleteResumableUpload(request); } StatusOr HybridClient::ListBucketAcl( ListBucketAclRequest const& request) { return curl_->ListBucketAcl(request); } StatusOr HybridClient::CreateBucketAcl( CreateBucketAclRequest const& request) { return curl_->CreateBucketAcl(request); } StatusOr HybridClient::DeleteBucketAcl( DeleteBucketAclRequest const& request) { return curl_->DeleteBucketAcl(request); } StatusOr HybridClient::GetBucketAcl( GetBucketAclRequest const& request) { return curl_->GetBucketAcl(request); } StatusOr HybridClient::UpdateBucketAcl( UpdateBucketAclRequest const& request) { return curl_->UpdateBucketAcl(request); } StatusOr HybridClient::PatchBucketAcl( PatchBucketAclRequest const& request) { return curl_->PatchBucketAcl(request); } StatusOr HybridClient::ListObjectAcl( ListObjectAclRequest const& request) { return curl_->ListObjectAcl(request); } StatusOr HybridClient::CreateObjectAcl( CreateObjectAclRequest const& request) { return curl_->CreateObjectAcl(request); } StatusOr HybridClient::DeleteObjectAcl( DeleteObjectAclRequest const& request) { return curl_->DeleteObjectAcl(request); } StatusOr HybridClient::GetObjectAcl( GetObjectAclRequest const& request) { return curl_->GetObjectAcl(request); } StatusOr HybridClient::UpdateObjectAcl( UpdateObjectAclRequest const& request) { return curl_->UpdateObjectAcl(request); } StatusOr HybridClient::PatchObjectAcl( PatchObjectAclRequest const& request) { return curl_->PatchObjectAcl(request); } StatusOr HybridClient::ListDefaultObjectAcl( ListDefaultObjectAclRequest const& request) { return curl_->ListDefaultObjectAcl(request); } StatusOr HybridClient::CreateDefaultObjectAcl( CreateDefaultObjectAclRequest const& request) { return curl_->CreateDefaultObjectAcl(request); } StatusOr HybridClient::DeleteDefaultObjectAcl( DeleteDefaultObjectAclRequest const& request) { return curl_->DeleteDefaultObjectAcl(request); } StatusOr HybridClient::GetDefaultObjectAcl( GetDefaultObjectAclRequest const& request) { return curl_->GetDefaultObjectAcl(request); } StatusOr HybridClient::UpdateDefaultObjectAcl( UpdateDefaultObjectAclRequest const& request) { return curl_->UpdateDefaultObjectAcl(request); } StatusOr HybridClient::PatchDefaultObjectAcl( PatchDefaultObjectAclRequest const& request) { return curl_->PatchDefaultObjectAcl(request); } StatusOr HybridClient::GetServiceAccount( GetProjectServiceAccountRequest const& request) { return curl_->GetServiceAccount(request); } StatusOr HybridClient::ListHmacKeys( ListHmacKeysRequest const& request) { return curl_->ListHmacKeys(request); } StatusOr HybridClient::CreateHmacKey( CreateHmacKeyRequest const& request) { return curl_->CreateHmacKey(request); } StatusOr HybridClient::DeleteHmacKey( DeleteHmacKeyRequest const& request) { return curl_->DeleteHmacKey(request); } StatusOr HybridClient::GetHmacKey( GetHmacKeyRequest const& request) { return curl_->GetHmacKey(request); } StatusOr HybridClient::UpdateHmacKey( UpdateHmacKeyRequest const& request) { return curl_->UpdateHmacKey(request); } StatusOr HybridClient::SignBlob( SignBlobRequest const& request) { return curl_->SignBlob(request); } StatusOr HybridClient::ListNotifications( ListNotificationsRequest const& request) { return curl_->ListNotifications(request); } StatusOr HybridClient::CreateNotification( CreateNotificationRequest const& request) { return curl_->CreateNotification(request); } StatusOr HybridClient::GetNotification( GetNotificationRequest const& request) { return curl_->GetNotification(request); } StatusOr HybridClient::DeleteNotification( DeleteNotificationRequest const& request) { return curl_->DeleteNotification(request); } } // namespace internal } // namespace STORAGE_CLIENT_NS } // namespace storage } // namespace cloud } // namespace google