This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-cloudfront/source/model/CustomOriginConfig.cpp

153 lines
4.8 KiB
C++
Raw Normal View History

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/cloudfront/model/CustomOriginConfig.h>
#include <aws/core/utils/xml/XmlSerializer.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/memory/stl/AWSStringStream.h>
#include <utility>
using namespace Aws::Utils::Xml;
using namespace Aws::Utils;
namespace Aws
{
namespace CloudFront
{
namespace Model
{
CustomOriginConfig::CustomOriginConfig() :
m_hTTPPort(0),
m_hTTPPortHasBeenSet(false),
m_hTTPSPort(0),
m_hTTPSPortHasBeenSet(false),
m_originProtocolPolicy(OriginProtocolPolicy::NOT_SET),
m_originProtocolPolicyHasBeenSet(false),
m_originSslProtocolsHasBeenSet(false),
m_originReadTimeout(0),
m_originReadTimeoutHasBeenSet(false),
m_originKeepaliveTimeout(0),
m_originKeepaliveTimeoutHasBeenSet(false)
{
}
CustomOriginConfig::CustomOriginConfig(const XmlNode& xmlNode) :
m_hTTPPort(0),
m_hTTPPortHasBeenSet(false),
m_hTTPSPort(0),
m_hTTPSPortHasBeenSet(false),
m_originProtocolPolicy(OriginProtocolPolicy::NOT_SET),
m_originProtocolPolicyHasBeenSet(false),
m_originSslProtocolsHasBeenSet(false),
m_originReadTimeout(0),
m_originReadTimeoutHasBeenSet(false),
m_originKeepaliveTimeout(0),
m_originKeepaliveTimeoutHasBeenSet(false)
{
*this = xmlNode;
}
CustomOriginConfig& CustomOriginConfig::operator =(const XmlNode& xmlNode)
{
XmlNode resultNode = xmlNode;
if(!resultNode.IsNull())
{
XmlNode hTTPPortNode = resultNode.FirstChild("HTTPPort");
if(!hTTPPortNode.IsNull())
{
m_hTTPPort = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(hTTPPortNode.GetText()).c_str()).c_str());
m_hTTPPortHasBeenSet = true;
}
XmlNode hTTPSPortNode = resultNode.FirstChild("HTTPSPort");
if(!hTTPSPortNode.IsNull())
{
m_hTTPSPort = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(hTTPSPortNode.GetText()).c_str()).c_str());
m_hTTPSPortHasBeenSet = true;
}
XmlNode originProtocolPolicyNode = resultNode.FirstChild("OriginProtocolPolicy");
if(!originProtocolPolicyNode.IsNull())
{
m_originProtocolPolicy = OriginProtocolPolicyMapper::GetOriginProtocolPolicyForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(originProtocolPolicyNode.GetText()).c_str()).c_str());
m_originProtocolPolicyHasBeenSet = true;
}
XmlNode originSslProtocolsNode = resultNode.FirstChild("OriginSslProtocols");
if(!originSslProtocolsNode.IsNull())
{
m_originSslProtocols = originSslProtocolsNode;
m_originSslProtocolsHasBeenSet = true;
}
XmlNode originReadTimeoutNode = resultNode.FirstChild("OriginReadTimeout");
if(!originReadTimeoutNode.IsNull())
{
m_originReadTimeout = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(originReadTimeoutNode.GetText()).c_str()).c_str());
m_originReadTimeoutHasBeenSet = true;
}
XmlNode originKeepaliveTimeoutNode = resultNode.FirstChild("OriginKeepaliveTimeout");
if(!originKeepaliveTimeoutNode.IsNull())
{
m_originKeepaliveTimeout = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(originKeepaliveTimeoutNode.GetText()).c_str()).c_str());
m_originKeepaliveTimeoutHasBeenSet = true;
}
}
return *this;
}
void CustomOriginConfig::AddToNode(XmlNode& parentNode) const
{
Aws::StringStream ss;
if(m_hTTPPortHasBeenSet)
{
XmlNode hTTPPortNode = parentNode.CreateChildElement("HTTPPort");
ss << m_hTTPPort;
hTTPPortNode.SetText(ss.str());
ss.str("");
}
if(m_hTTPSPortHasBeenSet)
{
XmlNode hTTPSPortNode = parentNode.CreateChildElement("HTTPSPort");
ss << m_hTTPSPort;
hTTPSPortNode.SetText(ss.str());
ss.str("");
}
if(m_originProtocolPolicyHasBeenSet)
{
XmlNode originProtocolPolicyNode = parentNode.CreateChildElement("OriginProtocolPolicy");
originProtocolPolicyNode.SetText(OriginProtocolPolicyMapper::GetNameForOriginProtocolPolicy(m_originProtocolPolicy));
}
if(m_originSslProtocolsHasBeenSet)
{
XmlNode originSslProtocolsNode = parentNode.CreateChildElement("OriginSslProtocols");
m_originSslProtocols.AddToNode(originSslProtocolsNode);
}
if(m_originReadTimeoutHasBeenSet)
{
XmlNode originReadTimeoutNode = parentNode.CreateChildElement("OriginReadTimeout");
ss << m_originReadTimeout;
originReadTimeoutNode.SetText(ss.str());
ss.str("");
}
if(m_originKeepaliveTimeoutHasBeenSet)
{
XmlNode originKeepaliveTimeoutNode = parentNode.CreateChildElement("OriginKeepaliveTimeout");
ss << m_originKeepaliveTimeout;
originKeepaliveTimeoutNode.SetText(ss.str());
ss.str("");
}
}
} // namespace Model
} // namespace CloudFront
} // namespace Aws