diff options
author | dakovalkov <dakovalkov@yandex-team.com> | 2023-12-03 13:33:55 +0300 |
---|---|---|
committer | dakovalkov <dakovalkov@yandex-team.com> | 2023-12-03 14:04:39 +0300 |
commit | 2a718325637e5302334b6d0a6430f63168f8dbb3 (patch) | |
tree | 64be81080b7df9ec1d86d053a0c394ae53fcf1fe /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp | |
parent | e0d94a470142d95c3007e9c5d80380994940664a (diff) | |
download | ydb-2a718325637e5302334b6d0a6430f63168f8dbb3.tar.gz |
Update contrib/libs/aws-sdk-cpp to 1.11.37
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp')
-rw-r--r-- | contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp new file mode 100644 index 0000000000..2cb06ee5fe --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAttributesResult.cpp @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/GetObjectAttributesResult.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; + +GetObjectAttributesResult::GetObjectAttributesResult() : + m_deleteMarker(false), + m_requestCharged(RequestCharged::NOT_SET), + m_storageClass(StorageClass::NOT_SET), + m_objectSize(0) +{ +} + +GetObjectAttributesResult::GetObjectAttributesResult(const Aws::AmazonWebServiceResult<XmlDocument>& result) : + m_deleteMarker(false), + m_requestCharged(RequestCharged::NOT_SET), + m_storageClass(StorageClass::NOT_SET), + m_objectSize(0) +{ + *this = result; +} + +GetObjectAttributesResult& GetObjectAttributesResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode eTagNode = resultNode.FirstChild("ETag"); + if(!eTagNode.IsNull()) + { + m_eTag = Aws::Utils::Xml::DecodeEscapedXmlText(eTagNode.GetText()); + } + XmlNode checksumNode = resultNode.FirstChild("Checksum"); + if(!checksumNode.IsNull()) + { + m_checksum = checksumNode; + } + XmlNode objectPartsNode = resultNode.FirstChild("ObjectParts"); + if(!objectPartsNode.IsNull()) + { + m_objectParts = objectPartsNode; + } + XmlNode storageClassNode = resultNode.FirstChild("StorageClass"); + if(!storageClassNode.IsNull()) + { + m_storageClass = StorageClassMapper::GetStorageClassForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(storageClassNode.GetText()).c_str()).c_str()); + } + XmlNode objectSizeNode = resultNode.FirstChild("ObjectSize"); + if(!objectSizeNode.IsNull()) + { + m_objectSize = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(objectSizeNode.GetText()).c_str()).c_str()); + } + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& deleteMarkerIter = headers.find("x-amz-delete-marker"); + if(deleteMarkerIter != headers.end()) + { + m_deleteMarker = StringUtils::ConvertToBool(deleteMarkerIter->second.c_str()); + } + + const auto& lastModifiedIter = headers.find("last-modified"); + if(lastModifiedIter != headers.end()) + { + m_lastModified = DateTime(lastModifiedIter->second, Aws::Utils::DateFormat::RFC822); + } + + const auto& versionIdIter = headers.find("x-amz-version-id"); + if(versionIdIter != headers.end()) + { + m_versionId = versionIdIter->second; + } + + const auto& requestChargedIter = headers.find("x-amz-request-charged"); + if(requestChargedIter != headers.end()) + { + m_requestCharged = RequestChargedMapper::GetRequestChargedForName(requestChargedIter->second); + } + + return *this; +} |