public OperationModifiers GetOperationModifiers(string operationName)
{
var data = _documentRoot[OperationModifiers.OperationModifiersKey];
if (data == null)
return null;
var operation = data[operationName] as JsonData;
if (operation == null)
return null;
var modifiers = new OperationModifiers();
if (operation[OperationModifiers.NameKey] != null && operation[OperationModifiers.NameKey].IsString)
modifiers.Name = (string)operation[OperationModifiers.NameKey];
if (operation[OperationModifiers.ExcludeKey] != null && operation[OperationModifiers.ExcludeKey].IsBoolean)
modifiers.IsExcluded = (bool)operation[OperationModifiers.ExcludeKey];
if (operation[OperationModifiers.InternalKey] != null && operation[OperationModifiers.InternalKey].IsBoolean)
modifiers.IsInternal = (bool)operation[OperationModifiers.InternalKey];
if (operation[OperationModifiers.DeprecatedKey] != null && operation[OperationModifiers.DeprecatedKey].IsBoolean)
modifiers.IsDeprecated = (bool)operation[OperationModifiers.DeprecatedKey];
if (operation[OperationModifiers.UseWrappingResultKey] != null && operation[OperationModifiers.UseWrappingResultKey].IsBoolean)
modifiers.UseWrappingResult = (bool)operation[OperationModifiers.UseWrappingResultKey];
if (operation[OperationModifiers.WrappedResultShapeKey] != null && operation[OperationModifiers.WrappedResultShapeKey].IsString)
modifiers.WrappedResultShape = (string)operation[OperationModifiers.WrappedResultShapeKey];
if (operation[OperationModifiers.WrappedResultMemberKey] != null && operation[OperationModifiers.WrappedResultMemberKey].IsString)
modifiers.WrappedResultMember = (string)operation[OperationModifiers.WrappedResultMemberKey];
if (operation[OperationModifiers.DocumentationKey] != null && operation[OperationModifiers.DocumentationKey].IsString)
modifiers.Documentation = (string)operation[OperationModifiers.DocumentationKey];
if (operation[OperationModifiers.MarshallNameOverrides] != null &&
operation[OperationModifiers.MarshallNameOverrides].IsArray)
{
foreach (JsonData marshalOverride in operation[OperationModifiers.MarshallNameOverrides])
{
var shapeName = marshalOverride.PropertyNames.First();
var marshalData = marshalOverride[shapeName];
modifiers.AddMarshallNameOverride(shapeName, marshalData);
}
}
return modifiers;
}