/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include <aws/cloudfront/model/ResponseHeadersPolicyCorsConfig.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 { ResponseHeadersPolicyCorsConfig::ResponseHeadersPolicyCorsConfig() : m_accessControlAllowOriginsHasBeenSet(false), m_accessControlAllowHeadersHasBeenSet(false), m_accessControlAllowMethodsHasBeenSet(false), m_accessControlAllowCredentials(false), m_accessControlAllowCredentialsHasBeenSet(false), m_accessControlExposeHeadersHasBeenSet(false), m_accessControlMaxAgeSec(0), m_accessControlMaxAgeSecHasBeenSet(false), m_originOverride(false), m_originOverrideHasBeenSet(false) { } ResponseHeadersPolicyCorsConfig::ResponseHeadersPolicyCorsConfig(const XmlNode& xmlNode) : m_accessControlAllowOriginsHasBeenSet(false), m_accessControlAllowHeadersHasBeenSet(false), m_accessControlAllowMethodsHasBeenSet(false), m_accessControlAllowCredentials(false), m_accessControlAllowCredentialsHasBeenSet(false), m_accessControlExposeHeadersHasBeenSet(false), m_accessControlMaxAgeSec(0), m_accessControlMaxAgeSecHasBeenSet(false), m_originOverride(false), m_originOverrideHasBeenSet(false) { *this = xmlNode; } ResponseHeadersPolicyCorsConfig& ResponseHeadersPolicyCorsConfig::operator =(const XmlNode& xmlNode) { XmlNode resultNode = xmlNode; if(!resultNode.IsNull()) { XmlNode accessControlAllowOriginsNode = resultNode.FirstChild("AccessControlAllowOrigins"); if(!accessControlAllowOriginsNode.IsNull()) { m_accessControlAllowOrigins = accessControlAllowOriginsNode; m_accessControlAllowOriginsHasBeenSet = true; } XmlNode accessControlAllowHeadersNode = resultNode.FirstChild("AccessControlAllowHeaders"); if(!accessControlAllowHeadersNode.IsNull()) { m_accessControlAllowHeaders = accessControlAllowHeadersNode; m_accessControlAllowHeadersHasBeenSet = true; } XmlNode accessControlAllowMethodsNode = resultNode.FirstChild("AccessControlAllowMethods"); if(!accessControlAllowMethodsNode.IsNull()) { m_accessControlAllowMethods = accessControlAllowMethodsNode; m_accessControlAllowMethodsHasBeenSet = true; } XmlNode accessControlAllowCredentialsNode = resultNode.FirstChild("AccessControlAllowCredentials"); if(!accessControlAllowCredentialsNode.IsNull()) { m_accessControlAllowCredentials = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(accessControlAllowCredentialsNode.GetText()).c_str()).c_str()); m_accessControlAllowCredentialsHasBeenSet = true; } XmlNode accessControlExposeHeadersNode = resultNode.FirstChild("AccessControlExposeHeaders"); if(!accessControlExposeHeadersNode.IsNull()) { m_accessControlExposeHeaders = accessControlExposeHeadersNode; m_accessControlExposeHeadersHasBeenSet = true; } XmlNode accessControlMaxAgeSecNode = resultNode.FirstChild("AccessControlMaxAgeSec"); if(!accessControlMaxAgeSecNode.IsNull()) { m_accessControlMaxAgeSec = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(accessControlMaxAgeSecNode.GetText()).c_str()).c_str()); m_accessControlMaxAgeSecHasBeenSet = true; } XmlNode originOverrideNode = resultNode.FirstChild("OriginOverride"); if(!originOverrideNode.IsNull()) { m_originOverride = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(originOverrideNode.GetText()).c_str()).c_str()); m_originOverrideHasBeenSet = true; } } return *this; } void ResponseHeadersPolicyCorsConfig::AddToNode(XmlNode& parentNode) const { Aws::StringStream ss; if(m_accessControlAllowOriginsHasBeenSet) { XmlNode accessControlAllowOriginsNode = parentNode.CreateChildElement("AccessControlAllowOrigins"); m_accessControlAllowOrigins.AddToNode(accessControlAllowOriginsNode); } if(m_accessControlAllowHeadersHasBeenSet) { XmlNode accessControlAllowHeadersNode = parentNode.CreateChildElement("AccessControlAllowHeaders"); m_accessControlAllowHeaders.AddToNode(accessControlAllowHeadersNode); } if(m_accessControlAllowMethodsHasBeenSet) { XmlNode accessControlAllowMethodsNode = parentNode.CreateChildElement("AccessControlAllowMethods"); m_accessControlAllowMethods.AddToNode(accessControlAllowMethodsNode); } if(m_accessControlAllowCredentialsHasBeenSet) { XmlNode accessControlAllowCredentialsNode = parentNode.CreateChildElement("AccessControlAllowCredentials"); ss << std::boolalpha << m_accessControlAllowCredentials; accessControlAllowCredentialsNode.SetText(ss.str()); ss.str(""); } if(m_accessControlExposeHeadersHasBeenSet) { XmlNode accessControlExposeHeadersNode = parentNode.CreateChildElement("AccessControlExposeHeaders"); m_accessControlExposeHeaders.AddToNode(accessControlExposeHeadersNode); } if(m_accessControlMaxAgeSecHasBeenSet) { XmlNode accessControlMaxAgeSecNode = parentNode.CreateChildElement("AccessControlMaxAgeSec"); ss << m_accessControlMaxAgeSec; accessControlMaxAgeSecNode.SetText(ss.str()); ss.str(""); } if(m_originOverrideHasBeenSet) { XmlNode originOverrideNode = parentNode.CreateChildElement("OriginOverride"); ss << std::boolalpha << m_originOverride; originOverrideNode.SetText(ss.str()); ss.str(""); } } } // namespace Model } // namespace CloudFront } // namespace Aws