diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsResult.cpp | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsResult.cpp')
-rw-r--r-- | contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsResult.cpp | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsResult.cpp new file mode 100644 index 0000000000..f4638f2a06 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsResult.cpp @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ListPartsResult.h> +#include <aws/core/utils/xml/XmlSerializer.h> +#include <aws/core/AmazonWebServiceResult.h> +#include <aws/core/utils/StringUtils.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; + +ListPartsResult::ListPartsResult() : + m_partNumberMarker(0), + m_nextPartNumberMarker(0), + m_maxParts(0), + m_isTruncated(false), + m_storageClass(StorageClass::NOT_SET), + m_requestCharged(RequestCharged::NOT_SET) +{ +} + +ListPartsResult::ListPartsResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_partNumberMarker(0), + m_nextPartNumberMarker(0), + m_maxParts(0), + m_isTruncated(false), + m_storageClass(StorageClass::NOT_SET), + m_requestCharged(RequestCharged::NOT_SET) +{ + *this = result; +} + +ListPartsResult& ListPartsResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode bucketNode = resultNode.FirstChild("Bucket"); + if(!bucketNode.IsNull()) + { + m_bucket = Aws::Utils::Xml::DecodeEscapedXmlText(bucketNode.GetText()); + } + XmlNode keyNode = resultNode.FirstChild("Key"); + if(!keyNode.IsNull()) + { + m_key = Aws::Utils::Xml::DecodeEscapedXmlText(keyNode.GetText()); + } + XmlNode uploadIdNode = resultNode.FirstChild("UploadId"); + if(!uploadIdNode.IsNull()) + { + m_uploadId = Aws::Utils::Xml::DecodeEscapedXmlText(uploadIdNode.GetText()); + } + XmlNode partNumberMarkerNode = resultNode.FirstChild("PartNumberMarker"); + if(!partNumberMarkerNode.IsNull()) + { + m_partNumberMarker = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(partNumberMarkerNode.GetText()).c_str()).c_str()); + } + XmlNode nextPartNumberMarkerNode = resultNode.FirstChild("NextPartNumberMarker"); + if(!nextPartNumberMarkerNode.IsNull()) + { + m_nextPartNumberMarker = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(nextPartNumberMarkerNode.GetText()).c_str()).c_str()); + } + XmlNode maxPartsNode = resultNode.FirstChild("MaxParts"); + if(!maxPartsNode.IsNull()) + { + m_maxParts = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(maxPartsNode.GetText()).c_str()).c_str()); + } + XmlNode isTruncatedNode = resultNode.FirstChild("IsTruncated"); + if(!isTruncatedNode.IsNull()) + { + m_isTruncated = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isTruncatedNode.GetText()).c_str()).c_str()); + } + XmlNode partsNode = resultNode.FirstChild("Part"); + if(!partsNode.IsNull()) + { + XmlNode partMember = partsNode; + while(!partMember.IsNull()) + { + m_parts.push_back(partMember); + partMember = partMember.NextNode("Part"); + } + + } + XmlNode initiatorNode = resultNode.FirstChild("Initiator"); + if(!initiatorNode.IsNull()) + { + m_initiator = initiatorNode; + } + XmlNode ownerNode = resultNode.FirstChild("Owner"); + if(!ownerNode.IsNull()) + { + m_owner = ownerNode; + } + XmlNode storageClassNode = resultNode.FirstChild("StorageClass"); + if(!storageClassNode.IsNull()) + { + m_storageClass = StorageClassMapper::GetStorageClassForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(storageClassNode.GetText()).c_str()).c_str()); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& abortDateIter = headers.find("x-amz-abort-date"); + if(abortDateIter != headers.end()) + { + m_abortDate = DateTime(abortDateIter->second, DateFormat::RFC822); + } + + const auto& abortRuleIdIter = headers.find("x-amz-abort-rule-id"); + if(abortRuleIdIter != headers.end()) + { + m_abortRuleId = abortRuleIdIter->second; + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} |