/// <summary> /// Processes method attributes. /// </summary> /// <param name="methodBuilder">A method builder.</param> /// <param name="methodInfo">The method.</param> /// <returns>The method builder.</returns> public static IMethodBuilder ProcessAttributes( this IMethodBuilder methodBuilder, MethodInfo methodInfo) { foreach (var attr in methodInfo.GetCustomAttributes()) { if (attr is ProducesAttribute) { methodBuilder.SetCustomAttribute( AttributeUtility.BuildAttribute <Type, ProducesAttribute>( ((ProducesAttribute)attr).Type, () => AttributeUtility.GetAttributePropertyValues <ProducesAttribute>((ProducesAttribute)attr, new[] { "Type", "ContentTypes" }))); } else if (attr is ProducesResponseTypeAttribute) { methodBuilder.SetCustomAttribute( AttributeUtility.BuildAttribute <int, ProducesResponseTypeAttribute>( ((ProducesResponseTypeAttribute)attr).StatusCode, () => AttributeUtility.GetAttributePropertyValues <ProducesResponseTypeAttribute>((ProducesResponseTypeAttribute)attr, new[] { "type" }))); } /* * else if (attr is SwaggerParameterAttribute) * { * methodBuilder.SetCustomAttribute( * AttributeUtility.BuildAttribute<string, SwaggerParameterAttribute>( * ((SwaggerParameterAttribute)attr).ParameterName, * () => AttributeUtility.GetAttributePropertyValues<SwaggerParameterAttribute>((SwaggerParameterAttribute)attr, null))); * } * else if (attr is SwaggerRequestHeaderParameterAttribute) * { * methodBuilder.SetCustomAttribute( * AttributeUtility.BuildAttribute<string, SwaggerRequestHeaderParameterAttribute>( * ((SwaggerRequestHeaderParameterAttribute)attr).Header, * () => AttributeUtility.GetAttributePropertyValues<SwaggerRequestHeaderParameterAttribute>((SwaggerRequestHeaderParameterAttribute)attr, null))); * } */ else if (attr is ObsoleteAttribute) { methodBuilder.SetCustomAttribute( AttributeUtility.BuildAttribute <ObsoleteAttribute>(null)); } } return(methodBuilder); }