137 lines
3.6 KiB
C++
137 lines
3.6 KiB
C++
/**
|
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
* SPDX-License-Identifier: Apache-2.0.
|
|
*/
|
|
|
|
#include <aws/apigateway/model/IntegrationResponse.h>
|
|
#include <aws/core/utils/json/JsonSerializer.h>
|
|
|
|
#include <utility>
|
|
|
|
using namespace Aws::Utils::Json;
|
|
using namespace Aws::Utils;
|
|
|
|
namespace Aws
|
|
{
|
|
namespace APIGateway
|
|
{
|
|
namespace Model
|
|
{
|
|
|
|
IntegrationResponse::IntegrationResponse() :
|
|
m_statusCodeHasBeenSet(false),
|
|
m_selectionPatternHasBeenSet(false),
|
|
m_responseParametersHasBeenSet(false),
|
|
m_responseTemplatesHasBeenSet(false),
|
|
m_contentHandling(ContentHandlingStrategy::NOT_SET),
|
|
m_contentHandlingHasBeenSet(false)
|
|
{
|
|
}
|
|
|
|
IntegrationResponse::IntegrationResponse(JsonView jsonValue) :
|
|
m_statusCodeHasBeenSet(false),
|
|
m_selectionPatternHasBeenSet(false),
|
|
m_responseParametersHasBeenSet(false),
|
|
m_responseTemplatesHasBeenSet(false),
|
|
m_contentHandling(ContentHandlingStrategy::NOT_SET),
|
|
m_contentHandlingHasBeenSet(false)
|
|
{
|
|
*this = jsonValue;
|
|
}
|
|
|
|
IntegrationResponse& IntegrationResponse::operator =(JsonView jsonValue)
|
|
{
|
|
if(jsonValue.ValueExists("statusCode"))
|
|
{
|
|
m_statusCode = jsonValue.GetString("statusCode");
|
|
|
|
m_statusCodeHasBeenSet = true;
|
|
}
|
|
|
|
if(jsonValue.ValueExists("selectionPattern"))
|
|
{
|
|
m_selectionPattern = jsonValue.GetString("selectionPattern");
|
|
|
|
m_selectionPatternHasBeenSet = true;
|
|
}
|
|
|
|
if(jsonValue.ValueExists("responseParameters"))
|
|
{
|
|
Aws::Map<Aws::String, JsonView> responseParametersJsonMap = jsonValue.GetObject("responseParameters").GetAllObjects();
|
|
for(auto& responseParametersItem : responseParametersJsonMap)
|
|
{
|
|
m_responseParameters[responseParametersItem.first] = responseParametersItem.second.AsString();
|
|
}
|
|
m_responseParametersHasBeenSet = true;
|
|
}
|
|
|
|
if(jsonValue.ValueExists("responseTemplates"))
|
|
{
|
|
Aws::Map<Aws::String, JsonView> responseTemplatesJsonMap = jsonValue.GetObject("responseTemplates").GetAllObjects();
|
|
for(auto& responseTemplatesItem : responseTemplatesJsonMap)
|
|
{
|
|
m_responseTemplates[responseTemplatesItem.first] = responseTemplatesItem.second.AsString();
|
|
}
|
|
m_responseTemplatesHasBeenSet = true;
|
|
}
|
|
|
|
if(jsonValue.ValueExists("contentHandling"))
|
|
{
|
|
m_contentHandling = ContentHandlingStrategyMapper::GetContentHandlingStrategyForName(jsonValue.GetString("contentHandling"));
|
|
|
|
m_contentHandlingHasBeenSet = true;
|
|
}
|
|
|
|
return *this;
|
|
}
|
|
|
|
JsonValue IntegrationResponse::Jsonize() const
|
|
{
|
|
JsonValue payload;
|
|
|
|
if(m_statusCodeHasBeenSet)
|
|
{
|
|
payload.WithString("statusCode", m_statusCode);
|
|
|
|
}
|
|
|
|
if(m_selectionPatternHasBeenSet)
|
|
{
|
|
payload.WithString("selectionPattern", m_selectionPattern);
|
|
|
|
}
|
|
|
|
if(m_responseParametersHasBeenSet)
|
|
{
|
|
JsonValue responseParametersJsonMap;
|
|
for(auto& responseParametersItem : m_responseParameters)
|
|
{
|
|
responseParametersJsonMap.WithString(responseParametersItem.first, responseParametersItem.second);
|
|
}
|
|
payload.WithObject("responseParameters", std::move(responseParametersJsonMap));
|
|
|
|
}
|
|
|
|
if(m_responseTemplatesHasBeenSet)
|
|
{
|
|
JsonValue responseTemplatesJsonMap;
|
|
for(auto& responseTemplatesItem : m_responseTemplates)
|
|
{
|
|
responseTemplatesJsonMap.WithString(responseTemplatesItem.first, responseTemplatesItem.second);
|
|
}
|
|
payload.WithObject("responseTemplates", std::move(responseTemplatesJsonMap));
|
|
|
|
}
|
|
|
|
if(m_contentHandlingHasBeenSet)
|
|
{
|
|
payload.WithString("contentHandling", ContentHandlingStrategyMapper::GetNameForContentHandlingStrategy(m_contentHandling));
|
|
}
|
|
|
|
return payload;
|
|
}
|
|
|
|
} // namespace Model
|
|
} // namespace APIGateway
|
|
} // namespace Aws
|