private IEnumerable <NormalizationApiOperationParameter> ParseParameters(dynamic op) { if (!op.ContainsKey("parameters")) { goto NoMoreParameters; } foreach (var paramObj in op.parameters) { if (!OperationParameterFilter(paramObj)) { continue; } if (!paramObj.ContainsKey("paramType")) { continue; } var param = new NormalizationApiOperationParameter(); param.CopyFrom(SimpleNormalizationApiDataType.ParseFromJObject(paramObj)); param.AllowsMultiple = paramObj.ContainsKey("allowMultiple") && (bool)paramObj.allowMultiple; param.Description = paramObj.ContainsKey("description") ? (string)paramObj.description : string.Empty; param.Name = paramObj.ContainsKey("name") ? (string)paramObj.name : string.Empty; param.ParameterType = GetParamType(paramObj); param.IsRequired = paramObj.ContainsKey("required") && (bool)paramObj.required; yield return(param); } NoMoreParameters: ; }
private IEnumerable <NormalizationApiModelProperty> ParseProperties(dynamic model) { if (!model.ContainsKey("properties")) { goto NoMoreProperties; } foreach (var propKv in model.properties) { var obj = propKv.Value; var prop = new NormalizationApiModelProperty { Name = propKv.Key }; prop.CopyFrom(SimpleNormalizationApiDataType.ParseFromJObject(obj)); if (obj.ContainsKey("description")) { prop.Description = obj.description; } if (obj.ContainsKey("key")) { prop.IsKey = (bool)obj.key; } yield return(prop); } NoMoreProperties: yield break; }
private NormalizationApiOperationResponse ParseResponse(dynamic op) { var dataType = SimpleNormalizationApiDataType.ParseFromJObject(op); var resp = new NormalizationApiOperationResponse(); resp.CopyFrom(dataType); return(resp); }
private NormalizationApiOperationResponse ParseResponse(dynamic op) { //Not sure if this is the best way to go about handling response. //In Swagger 2.0 Response type seems to be tied to the //response element whereas it was not in Swagger 1.2. dynamic dataType = op.Value; if (dataType.responses.ContainsKey("200")) { dataType = dataType.responses["200"]; } else if (dataType.responses.ContainsKey("201")) { dataType = op.Value.responses["201"]; } else if (dataType.responses.ContainsKey("204")) { dataType = op.Value.responses["204"]; } else if (dataType.responses.ContainsKey("202")) { dataType = op.Value.responses["202"]; } string title = ""; if (dataType.ContainsKey("schema")) { if (dataType.schema.ContainsKey("title")) { title = dataType.schema["title"]; } } dataType = SimpleNormalizationApiDataType.ParseFromJObject(dataType); var resp = new NormalizationApiOperationResponse(); resp.CopyFrom(dataType); resp.Title20 = title; return(resp); }