1/*
2* Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3*
4* Licensed under the Apache License, Version 2.0 (the "License").
5* You may not use this file except in compliance with the License.
6* A copy of the License is located at
7*
8* http://aws.amazon.com/apache2.0
9*
10* or in the "license" file accompanying this file. This file is distributed
11* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12* express or implied. See the License for the specific language governing
13* permissions and limitations under the License.
14*/
15
16#include <aws/s3/model/GetBucketWebsiteResult.h>
17#include <aws/core/utils/xml/XmlSerializer.h>
18#include <aws/core/AmazonWebServiceResult.h>
19#include <aws/core/utils/StringUtils.h>
20
21#include <utility>
22
23using namespace Aws::S3::Model;
24using namespace Aws::Utils::Xml;
25using namespace Aws::Utils;
26using namespace Aws;
27
28GetBucketWebsiteResult::GetBucketWebsiteResult()
29{
30}
31
32GetBucketWebsiteResult::GetBucketWebsiteResult(const Aws::AmazonWebServiceResult<XmlDocument>& result)
33{
34 *this = result;
35}
36
37GetBucketWebsiteResult& GetBucketWebsiteResult::operator =(const Aws::AmazonWebServiceResult<XmlDocument>& result)
38{
39 const XmlDocument& xmlDocument = result.GetPayload();
40 XmlNode resultNode = xmlDocument.GetRootElement();
41
42 if(!resultNode.IsNull())
43 {
44 XmlNode redirectAllRequestsToNode = resultNode.FirstChild("RedirectAllRequestsTo");
45 if(!redirectAllRequestsToNode.IsNull())
46 {
47 m_redirectAllRequestsTo = redirectAllRequestsToNode;
48 }
49 XmlNode indexDocumentNode = resultNode.FirstChild("IndexDocument");
50 if(!indexDocumentNode.IsNull())
51 {
52 m_indexDocument = indexDocumentNode;
53 }
54 XmlNode errorDocumentNode = resultNode.FirstChild("ErrorDocument");
55 if(!errorDocumentNode.IsNull())
56 {
57 m_errorDocument = errorDocumentNode;
58 }
59 XmlNode routingRulesNode = resultNode.FirstChild("RoutingRules");
60 if(!routingRulesNode.IsNull())
61 {
62 XmlNode routingRulesMember = routingRulesNode.FirstChild("RoutingRule");
63 while(!routingRulesMember.IsNull())
64 {
65 m_routingRules.push_back(routingRulesMember);
66 routingRulesMember = routingRulesMember.NextNode("RoutingRule");
67 }
68
69 }
70 }
71
72 return *this;
73}
74