diff options
author | arcadia-devtools <arcadia-devtools@yandex-team.ru> | 2022-03-02 12:50:27 +0300 |
---|---|---|
committer | arcadia-devtools <arcadia-devtools@yandex-team.ru> | 2022-03-02 12:50:27 +0300 |
commit | d0f80d5e60d77854f9d6262a59a7349e2b21f9d2 (patch) | |
tree | 01f1e033ce5519d96b7d6a83718221dcb8021eec /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model | |
parent | 26286f616cee657612a9d820be6da2cdbd4de0ef (diff) | |
download | ydb-d0f80d5e60d77854f9d6262a59a7349e2b21f9d2.tar.gz |
intermediate changes
ref:40ac71fae6ea311a73473cf4297ca93bf27559c3
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model')
14 files changed, 373 insertions, 21 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp index dd1b40db2fd..7a622df798e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp @@ -21,6 +21,7 @@ namespace Model { CORSRule::CORSRule() : + m_iDHasBeenSet(false), m_allowedHeadersHasBeenSet(false), m_allowedMethodsHasBeenSet(false), m_allowedOriginsHasBeenSet(false), @@ -31,6 +32,7 @@ CORSRule::CORSRule() : } CORSRule::CORSRule(const XmlNode& xmlNode) : + m_iDHasBeenSet(false), m_allowedHeadersHasBeenSet(false), m_allowedMethodsHasBeenSet(false), m_allowedOriginsHasBeenSet(false), @@ -47,6 +49,12 @@ CORSRule& CORSRule::operator =(const XmlNode& xmlNode) if(!resultNode.IsNull()) { + XmlNode iDNode = resultNode.FirstChild("ID"); + if(!iDNode.IsNull()) + { + m_iD = Aws::Utils::Xml::DecodeEscapedXmlText(iDNode.GetText()); + m_iDHasBeenSet = true; + } XmlNode allowedHeadersNode = resultNode.FirstChild("AllowedHeader"); if(!allowedHeadersNode.IsNull()) { @@ -109,6 +117,12 @@ CORSRule& CORSRule::operator =(const XmlNode& xmlNode) void CORSRule::AddToNode(XmlNode& parentNode) const { Aws::StringStream ss; + if(m_iDHasBeenSet) + { + XmlNode iDNode = parentNode.CreateChildElement("ID"); + iDNode.SetText(m_iD); + } + if(m_allowedHeadersHasBeenSet) { for(const auto& item : m_allowedHeaders) diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp index bd9f656890a..94493cfdcf0 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp @@ -279,8 +279,8 @@ Aws::Http::HeaderValueCollection CopyObjectRequest::GetRequestSpecificHeaders() if(m_bucketKeyEnabledHasBeenSet) { - ss << m_bucketKeyEnabled; - headers.emplace("x-amz-server-side-encryption-bucket-key-enabled", ss.str()); + ss << std::boolalpha << m_bucketKeyEnabled; + headers.emplace("x-amz-server-side-encryption-bucket-key-enabled", ss.str()); ss.str(""); } @@ -324,7 +324,7 @@ Aws::Http::HeaderValueCollection CopyObjectRequest::GetRequestSpecificHeaders() if(m_objectLockRetainUntilDateHasBeenSet) { - headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::RFC822)); + headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::ISO_8601)); } if(m_objectLockLegalHoldStatusHasBeenSet) diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketRequest.cpp index 0cd50dbf6db..0bc3641a33c 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketRequest.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketRequest.cpp @@ -116,8 +116,8 @@ Aws::Http::HeaderValueCollection CreateBucketRequest::GetRequestSpecificHeaders( if(m_objectLockEnabledForBucketHasBeenSet) { - ss << m_objectLockEnabledForBucket; - headers.emplace("x-amz-bucket-object-lock-enabled", ss.str()); + ss << std::boolalpha << m_objectLockEnabledForBucket; + headers.emplace("x-amz-bucket-object-lock-enabled", ss.str()); ss.str(""); } diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp index 23470457616..73a88bf2dc1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp @@ -225,8 +225,8 @@ Aws::Http::HeaderValueCollection CreateMultipartUploadRequest::GetRequestSpecifi if(m_bucketKeyEnabledHasBeenSet) { - ss << m_bucketKeyEnabled; - headers.emplace("x-amz-server-side-encryption-bucket-key-enabled", ss.str()); + ss << std::boolalpha << m_bucketKeyEnabled; + headers.emplace("x-amz-server-side-encryption-bucket-key-enabled", ss.str()); ss.str(""); } @@ -249,7 +249,7 @@ Aws::Http::HeaderValueCollection CreateMultipartUploadRequest::GetRequestSpecifi if(m_objectLockRetainUntilDateHasBeenSet) { - headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::RFC822)); + headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::ISO_8601)); } if(m_objectLockLegalHoldStatusHasBeenSet) diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp index 08da25d567a..6bd83e7cbe1 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp @@ -82,8 +82,8 @@ Aws::Http::HeaderValueCollection DeleteObjectRequest::GetRequestSpecificHeaders( if(m_bypassGovernanceRetentionHasBeenSet) { - ss << m_bypassGovernanceRetention; - headers.emplace("x-amz-bypass-governance-retention", ss.str()); + ss << std::boolalpha << m_bypassGovernanceRetention; + headers.emplace("x-amz-bypass-governance-retention", ss.str()); ss.str(""); } diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsRequest.cpp index 42118cc4b5e..3f7759ca0a4 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsRequest.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsRequest.cpp @@ -85,8 +85,8 @@ Aws::Http::HeaderValueCollection DeleteObjectsRequest::GetRequestSpecificHeaders if(m_bypassGovernanceRetentionHasBeenSet) { - ss << m_bypassGovernanceRetention; - headers.emplace("x-amz-bypass-governance-retention", ss.str()); + ss << std::boolalpha << m_bypassGovernanceRetention; + headers.emplace("x-amz-bypass-governance-retention", ss.str()); ss.str(""); } diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectResult.cpp index 8c20face8e0..f0959a570ae 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectResult.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectResult.cpp @@ -319,7 +319,7 @@ GetObjectResult& GetObjectResult::operator =(Aws::AmazonWebServiceResult<Respons const auto& objectLockRetainUntilDateIter = headers.find("x-amz-object-lock-retain-until-date"); if(objectLockRetainUntilDateIter != headers.end()) { - m_objectLockRetainUntilDate = DateTime(objectLockRetainUntilDateIter->second, DateFormat::RFC822); + m_objectLockRetainUntilDate = DateTime(objectLockRetainUntilDateIter->second, DateFormat::ISO_8601); } const auto& objectLockLegalHoldStatusIter = headers.find("x-amz-object-lock-legal-hold"); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingRequest.cpp index 447a1c4041a..fb9a5d55e44 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingRequest.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingRequest.cpp @@ -21,6 +21,8 @@ GetObjectTaggingRequest::GetObjectTaggingRequest() : m_keyHasBeenSet(false), m_versionIdHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { } @@ -70,5 +72,10 @@ Aws::Http::HeaderValueCollection GetObjectTaggingRequest::GetRequestSpecificHead ss.str(""); } + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + return headers; } diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp index ce0305dcafd..f498d56aabf 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp @@ -235,7 +235,7 @@ HeadObjectResult& HeadObjectResult::operator =(const Aws::AmazonWebServiceResult const auto& objectLockRetainUntilDateIter = headers.find("x-amz-object-lock-retain-until-date"); if(objectLockRetainUntilDateIter != headers.end()) { - m_objectLockRetainUntilDate = DateTime(objectLockRetainUntilDateIter->second, DateFormat::RFC822); + m_objectLockRetainUntilDate = DateTime(objectLockRetainUntilDateIter->second, DateFormat::ISO_8601); } const auto& objectLockLegalHoldStatusIter = headers.find("x-amz-object-lock-legal-hold"); diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketPolicyRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketPolicyRequest.cpp index ce52fa7cd8b..d7fc444c2d3 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketPolicyRequest.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketPolicyRequest.cpp @@ -62,8 +62,8 @@ Aws::Http::HeaderValueCollection PutBucketPolicyRequest::GetRequestSpecificHeade if(m_confirmRemoveSelfBucketAccessHasBeenSet) { - ss << m_confirmRemoveSelfBucketAccess; - headers.emplace("x-amz-confirm-remove-self-bucket-access", ss.str()); + ss << std::boolalpha << m_confirmRemoveSelfBucketAccess; + headers.emplace("x-amz-confirm-remove-self-bucket-access", ss.str()); ss.str(""); } diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp index 1a3f34b3e87..18cdc3866f8 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp @@ -231,8 +231,8 @@ Aws::Http::HeaderValueCollection PutObjectRequest::GetRequestSpecificHeaders() c if(m_bucketKeyEnabledHasBeenSet) { - ss << m_bucketKeyEnabled; - headers.emplace("x-amz-server-side-encryption-bucket-key-enabled", ss.str()); + ss << std::boolalpha << m_bucketKeyEnabled; + headers.emplace("x-amz-server-side-encryption-bucket-key-enabled", ss.str()); ss.str(""); } @@ -255,7 +255,7 @@ Aws::Http::HeaderValueCollection PutObjectRequest::GetRequestSpecificHeaders() c if(m_objectLockRetainUntilDateHasBeenSet) { - headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::RFC822)); + headers.emplace("x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::ISO_8601)); } if(m_objectLockLegalHoldStatusHasBeenSet) diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionRequest.cpp index 1c0101a0c42..779ac68bd3b 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionRequest.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionRequest.cpp @@ -87,8 +87,8 @@ Aws::Http::HeaderValueCollection PutObjectRetentionRequest::GetRequestSpecificHe if(m_bypassGovernanceRetentionHasBeenSet) { - ss << m_bypassGovernanceRetention; - headers.emplace("x-amz-bypass-governance-retention", ss.str()); + ss << std::boolalpha << m_bypassGovernanceRetention; + headers.emplace("x-amz-bypass-governance-retention", ss.str()); ss.str(""); } diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingRequest.cpp index d93c0108eac..612eb0eb8ec 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingRequest.cpp +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingRequest.cpp @@ -23,6 +23,8 @@ PutObjectTaggingRequest::PutObjectTaggingRequest() : m_contentMD5HasBeenSet(false), m_taggingHasBeenSet(false), m_expectedBucketOwnerHasBeenSet(false), + m_requestPayer(RequestPayer::NOT_SET), + m_requestPayerHasBeenSet(false), m_customizedAccessLogTagHasBeenSet(false) { } @@ -90,5 +92,10 @@ Aws::Http::HeaderValueCollection PutObjectTaggingRequest::GetRequestSpecificHead ss.str(""); } + if(m_requestPayerHasBeenSet) + { + headers.emplace("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer)); + } + return headers; } diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WriteGetObjectResponseRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WriteGetObjectResponseRequest.cpp new file mode 100644 index 00000000000..49893d5823c --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WriteGetObjectResponseRequest.cpp @@ -0,0 +1,324 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/WriteGetObjectResponseRequest.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/http/URI.h> +#include <aws/core/utils/memory/stl/AWSStringStream.h> +#include <aws/core/utils/HashingUtils.h> + +#include <utility> + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws::Http; +using namespace Aws; + +WriteGetObjectResponseRequest::WriteGetObjectResponseRequest() : + m_requestRouteHasBeenSet(false), + m_requestTokenHasBeenSet(false), + m_statusCode(0), + m_statusCodeHasBeenSet(false), + m_errorCodeHasBeenSet(false), + m_errorMessageHasBeenSet(false), + m_acceptRangesHasBeenSet(false), + m_cacheControlHasBeenSet(false), + m_contentDispositionHasBeenSet(false), + m_contentEncodingHasBeenSet(false), + m_contentLanguageHasBeenSet(false), + m_contentLength(0), + m_contentLengthHasBeenSet(false), + m_contentRangeHasBeenSet(false), + m_deleteMarker(false), + m_deleteMarkerHasBeenSet(false), + m_eTagHasBeenSet(false), + m_expiresHasBeenSet(false), + m_expirationHasBeenSet(false), + m_lastModifiedHasBeenSet(false), + m_missingMeta(0), + m_missingMetaHasBeenSet(false), + m_metadataHasBeenSet(false), + m_objectLockMode(ObjectLockMode::NOT_SET), + m_objectLockModeHasBeenSet(false), + m_objectLockLegalHoldStatus(ObjectLockLegalHoldStatus::NOT_SET), + m_objectLockLegalHoldStatusHasBeenSet(false), + m_objectLockRetainUntilDateHasBeenSet(false), + m_partsCount(0), + m_partsCountHasBeenSet(false), + m_replicationStatus(ReplicationStatus::NOT_SET), + m_replicationStatusHasBeenSet(false), + m_requestCharged(RequestCharged::NOT_SET), + m_requestChargedHasBeenSet(false), + m_restoreHasBeenSet(false), + m_serverSideEncryption(ServerSideEncryption::NOT_SET), + m_serverSideEncryptionHasBeenSet(false), + m_sSECustomerAlgorithmHasBeenSet(false), + m_sSEKMSKeyIdHasBeenSet(false), + m_sSECustomerKeyMD5HasBeenSet(false), + m_storageClass(StorageClass::NOT_SET), + m_storageClassHasBeenSet(false), + m_tagCount(0), + m_tagCountHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_bucketKeyEnabled(false), + m_bucketKeyEnabledHasBeenSet(false), + m_customizedAccessLogTagHasBeenSet(false) +{ +} + + +void WriteGetObjectResponseRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map<Aws::String, Aws::String> collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection WriteGetObjectResponseRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_requestRouteHasBeenSet) + { + ss << m_requestRoute; + headers.emplace("x-amz-request-route", ss.str()); + ss.str(""); + } + + if(m_requestTokenHasBeenSet) + { + ss << m_requestToken; + headers.emplace("x-amz-request-token", ss.str()); + ss.str(""); + } + + if(m_statusCodeHasBeenSet) + { + ss << m_statusCode; + headers.emplace("x-amz-fwd-status", ss.str()); + ss.str(""); + } + + if(m_errorCodeHasBeenSet) + { + ss << m_errorCode; + headers.emplace("x-amz-fwd-error-code", ss.str()); + ss.str(""); + } + + if(m_errorMessageHasBeenSet) + { + ss << m_errorMessage; + headers.emplace("x-amz-fwd-error-message", ss.str()); + ss.str(""); + } + + if(m_acceptRangesHasBeenSet) + { + ss << m_acceptRanges; + headers.emplace("x-amz-fwd-header-accept-ranges", ss.str()); + ss.str(""); + } + + if(m_cacheControlHasBeenSet) + { + ss << m_cacheControl; + headers.emplace("x-amz-fwd-header-cache-control", ss.str()); + ss.str(""); + } + + if(m_contentDispositionHasBeenSet) + { + ss << m_contentDisposition; + headers.emplace("x-amz-fwd-header-content-disposition", ss.str()); + ss.str(""); + } + + if(m_contentEncodingHasBeenSet) + { + ss << m_contentEncoding; + headers.emplace("x-amz-fwd-header-content-encoding", ss.str()); + ss.str(""); + } + + if(m_contentLanguageHasBeenSet) + { + ss << m_contentLanguage; + headers.emplace("x-amz-fwd-header-content-language", ss.str()); + ss.str(""); + } + + if(m_contentLengthHasBeenSet) + { + ss << m_contentLength; + headers.emplace("content-length", ss.str()); + ss.str(""); + } + + if(m_contentRangeHasBeenSet) + { + ss << m_contentRange; + headers.emplace("x-amz-fwd-header-content-range", ss.str()); + ss.str(""); + } + + if(m_deleteMarkerHasBeenSet) + { + ss << std::boolalpha << m_deleteMarker; + headers.emplace("x-amz-fwd-header-x-amz-delete-marker", ss.str()); + ss.str(""); + } + + if(m_eTagHasBeenSet) + { + ss << m_eTag; + headers.emplace("x-amz-fwd-header-etag", ss.str()); + ss.str(""); + } + + if(m_expiresHasBeenSet) + { + headers.emplace("x-amz-fwd-header-expires", m_expires.ToGmtString(DateFormat::RFC822)); + } + + if(m_expirationHasBeenSet) + { + ss << m_expiration; + headers.emplace("x-amz-fwd-header-x-amz-expiration", ss.str()); + ss.str(""); + } + + if(m_lastModifiedHasBeenSet) + { + headers.emplace("x-amz-fwd-header-last-modified", m_lastModified.ToGmtString(DateFormat::RFC822)); + } + + if(m_missingMetaHasBeenSet) + { + ss << m_missingMeta; + headers.emplace("x-amz-fwd-header-x-amz-missing-meta", ss.str()); + ss.str(""); + } + + if(m_metadataHasBeenSet) + { + for(const auto& item : m_metadata) + { + ss << "x-amz-meta-" << item.first; + headers.emplace(ss.str(), item.second); + ss.str(""); + } + } + + if(m_objectLockModeHasBeenSet) + { + headers.emplace("x-amz-fwd-header-x-amz-object-lock-mode", ObjectLockModeMapper::GetNameForObjectLockMode(m_objectLockMode)); + } + + if(m_objectLockLegalHoldStatusHasBeenSet) + { + headers.emplace("x-amz-fwd-header-x-amz-object-lock-legal-hold", ObjectLockLegalHoldStatusMapper::GetNameForObjectLockLegalHoldStatus(m_objectLockLegalHoldStatus)); + } + + if(m_objectLockRetainUntilDateHasBeenSet) + { + headers.emplace("x-amz-fwd-header-x-amz-object-lock-retain-until-date", m_objectLockRetainUntilDate.ToGmtString(DateFormat::ISO_8601)); + } + + if(m_partsCountHasBeenSet) + { + ss << m_partsCount; + headers.emplace("x-amz-fwd-header-x-amz-mp-parts-count", ss.str()); + ss.str(""); + } + + if(m_replicationStatusHasBeenSet) + { + headers.emplace("x-amz-fwd-header-x-amz-replication-status", ReplicationStatusMapper::GetNameForReplicationStatus(m_replicationStatus)); + } + + if(m_requestChargedHasBeenSet) + { + headers.emplace("x-amz-fwd-header-x-amz-request-charged", RequestChargedMapper::GetNameForRequestCharged(m_requestCharged)); + } + + if(m_restoreHasBeenSet) + { + ss << m_restore; + headers.emplace("x-amz-fwd-header-x-amz-restore", ss.str()); + ss.str(""); + } + + if(m_serverSideEncryptionHasBeenSet) + { + headers.emplace("x-amz-fwd-header-x-amz-server-side-encryption", ServerSideEncryptionMapper::GetNameForServerSideEncryption(m_serverSideEncryption)); + } + + if(m_sSECustomerAlgorithmHasBeenSet) + { + ss << m_sSECustomerAlgorithm; + headers.emplace("x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm", ss.str()); + ss.str(""); + } + + if(m_sSEKMSKeyIdHasBeenSet) + { + ss << m_sSEKMSKeyId; + headers.emplace("x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id", ss.str()); + ss.str(""); + } + + if(m_sSECustomerKeyMD5HasBeenSet) + { + ss << m_sSECustomerKeyMD5; + headers.emplace("x-amz-fwd-header-x-amz-server-side-encryption-customer-key-md5", ss.str()); + ss.str(""); + } + + if(m_storageClassHasBeenSet) + { + headers.emplace("x-amz-fwd-header-x-amz-storage-class", StorageClassMapper::GetNameForStorageClass(m_storageClass)); + } + + if(m_tagCountHasBeenSet) + { + ss << m_tagCount; + headers.emplace("x-amz-fwd-header-x-amz-tagging-count", ss.str()); + ss.str(""); + } + + if(m_versionIdHasBeenSet) + { + ss << m_versionId; + headers.emplace("x-amz-fwd-header-x-amz-version-id", ss.str()); + ss.str(""); + } + + if(m_bucketKeyEnabledHasBeenSet) + { + ss << std::boolalpha << m_bucketKeyEnabled; + headers.emplace("x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled", ss.str()); + ss.str(""); + } + + return headers; + +} |