aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketReplicationRequest.cpp
diff options
context:
space:
mode:
authorDevtools Arcadia <arcadia-devtools@yandex-team.ru>2022-02-07 18:08:42 +0300
committerDevtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net>2022-02-07 18:08:42 +0300
commit1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch)
treee26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketReplicationRequest.cpp
downloadydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketReplicationRequest.cpp')
-rw-r--r--contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketReplicationRequest.cpp93
1 files changed, 93 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketReplicationRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketReplicationRequest.cpp
new file mode 100644
index 0000000000..44244a8560
--- /dev/null
+++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketReplicationRequest.cpp
@@ -0,0 +1,93 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include <aws/s3/model/PutBucketReplicationRequest.h>
+#include <aws/core/utils/xml/XmlSerializer.h>
+#include <aws/core/utils/memory/stl/AWSStringStream.h>
+#include <aws/core/http/URI.h>
+#include <aws/core/utils/memory/stl/AWSStringStream.h>
+
+#include <utility>
+
+using namespace Aws::S3::Model;
+using namespace Aws::Utils::Xml;
+using namespace Aws::Utils;
+using namespace Aws::Http;
+
+PutBucketReplicationRequest::PutBucketReplicationRequest() :
+ m_bucketHasBeenSet(false),
+ m_contentMD5HasBeenSet(false),
+ m_replicationConfigurationHasBeenSet(false),
+ m_tokenHasBeenSet(false),
+ m_expectedBucketOwnerHasBeenSet(false),
+ m_customizedAccessLogTagHasBeenSet(false)
+{
+}
+
+Aws::String PutBucketReplicationRequest::SerializePayload() const
+{
+ XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("ReplicationConfiguration");
+
+ XmlNode parentNode = payloadDoc.GetRootElement();
+ parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/");
+
+ m_replicationConfiguration.AddToNode(parentNode);
+ if(parentNode.HasChildren())
+ {
+ return payloadDoc.ConvertToString();
+ }
+
+ return {};
+}
+
+void PutBucketReplicationRequest::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 PutBucketReplicationRequest::GetRequestSpecificHeaders() const
+{
+ Aws::Http::HeaderValueCollection headers;
+ Aws::StringStream ss;
+ if(m_contentMD5HasBeenSet)
+ {
+ ss << m_contentMD5;
+ headers.emplace("content-md5", ss.str());
+ ss.str("");
+ }
+
+ if(m_tokenHasBeenSet)
+ {
+ ss << m_token;
+ headers.emplace("x-amz-bucket-object-lock-token", ss.str());
+ ss.str("");
+ }
+
+ if(m_expectedBucketOwnerHasBeenSet)
+ {
+ ss << m_expectedBucketOwner;
+ headers.emplace("x-amz-expected-bucket-owner", ss.str());
+ ss.str("");
+ }
+
+ return headers;
+}