aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentRequest.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/SelectObjectContentRequest.cpp
downloadydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentRequest.cpp')
-rw-r--r--contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentRequest.cpp140
1 files changed, 140 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentRequest.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentRequest.cpp
new file mode 100644
index 0000000000..f3443311dd
--- /dev/null
+++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentRequest.cpp
@@ -0,0 +1,140 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include <aws/s3/model/SelectObjectContentRequest.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;
+
+SelectObjectContentRequest::SelectObjectContentRequest() :
+ m_bucketHasBeenSet(false),
+ m_keyHasBeenSet(false),
+ m_sSECustomerAlgorithmHasBeenSet(false),
+ m_sSECustomerKeyHasBeenSet(false),
+ m_sSECustomerKeyMD5HasBeenSet(false),
+ m_expressionHasBeenSet(false),
+ m_expressionType(ExpressionType::NOT_SET),
+ m_expressionTypeHasBeenSet(false),
+ m_requestProgressHasBeenSet(false),
+ m_inputSerializationHasBeenSet(false),
+ m_outputSerializationHasBeenSet(false),
+ m_scanRangeHasBeenSet(false),
+ m_expectedBucketOwnerHasBeenSet(false),
+ m_customizedAccessLogTagHasBeenSet(false),
+ m_decoder(Aws::Utils::Event::EventStreamDecoder(&m_handler))
+{
+}
+
+Aws::String SelectObjectContentRequest::SerializePayload() const
+{
+ XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("SelectObjectContentRequest");
+
+ XmlNode parentNode = payloadDoc.GetRootElement();
+ parentNode.SetAttributeValue("xmlns", "http://s3.amazonaws.com/doc/2006-03-01/");
+
+ Aws::StringStream ss;
+ if(m_expressionHasBeenSet)
+ {
+ XmlNode expressionNode = parentNode.CreateChildElement("Expression");
+ expressionNode.SetText(m_expression);
+ }
+
+ if(m_expressionTypeHasBeenSet)
+ {
+ XmlNode expressionTypeNode = parentNode.CreateChildElement("ExpressionType");
+ expressionTypeNode.SetText(ExpressionTypeMapper::GetNameForExpressionType(m_expressionType));
+ }
+
+ if(m_requestProgressHasBeenSet)
+ {
+ XmlNode requestProgressNode = parentNode.CreateChildElement("RequestProgress");
+ m_requestProgress.AddToNode(requestProgressNode);
+ }
+
+ if(m_inputSerializationHasBeenSet)
+ {
+ XmlNode inputSerializationNode = parentNode.CreateChildElement("InputSerialization");
+ m_inputSerialization.AddToNode(inputSerializationNode);
+ }
+
+ if(m_outputSerializationHasBeenSet)
+ {
+ XmlNode outputSerializationNode = parentNode.CreateChildElement("OutputSerialization");
+ m_outputSerialization.AddToNode(outputSerializationNode);
+ }
+
+ if(m_scanRangeHasBeenSet)
+ {
+ XmlNode scanRangeNode = parentNode.CreateChildElement("ScanRange");
+ m_scanRange.AddToNode(scanRangeNode);
+ }
+
+ return payloadDoc.ConvertToString();
+}
+
+void SelectObjectContentRequest::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 SelectObjectContentRequest::GetRequestSpecificHeaders() const
+{
+ Aws::Http::HeaderValueCollection headers;
+ Aws::StringStream ss;
+ if(m_sSECustomerAlgorithmHasBeenSet)
+ {
+ ss << m_sSECustomerAlgorithm;
+ headers.emplace("x-amz-server-side-encryption-customer-algorithm", ss.str());
+ ss.str("");
+ }
+
+ if(m_sSECustomerKeyHasBeenSet)
+ {
+ ss << m_sSECustomerKey;
+ headers.emplace("x-amz-server-side-encryption-customer-key", ss.str());
+ ss.str("");
+ }
+
+ if(m_sSECustomerKeyMD5HasBeenSet)
+ {
+ ss << m_sSECustomerKeyMD5;
+ headers.emplace("x-amz-server-side-encryption-customer-key-md5", ss.str());
+ ss.str("");
+ }
+
+ if(m_expectedBucketOwnerHasBeenSet)
+ {
+ ss << m_expectedBucketOwner;
+ headers.emplace("x-amz-expected-bucket-owner", ss.str());
+ ss.str("");
+ }
+
+ return headers;
+}