namespace Pilz.Net.Api; [AttributeUsage(AttributeTargets.Method)] public class ApiMessageHandlerAttribute(string route, params string[] methods) : Attribute { public ApiMessageHandlerAttribute(string route, params HttpMethod[] methods) : this(route, methods.Select(m => m.Method).ToArray()) { } public ApiMessageHandlerAttribute(string route) : this(route, HttpMethod.Post) { } public string Route { get; } = route; public string[] Methods { get; } = methods; public Type? Serializer { get; set; } public bool RequiesAuth { get; set; } }