using System; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; using Tapeti.Config; namespace Tapeti.DataAnnotations { /// /// Validates published messages using System.ComponentModel.DataAnnotations /// internal class DataAnnotationsPublishMiddleware : IPublishMiddleware { /// public ValueTask Handle(IPublishContext context, Func next) { var validationContext = new ValidationContext(context.Message); Validator.ValidateObject(context.Message, validationContext, true); return next(); } } }