public AuditConsumeObserver(IMessageAuditStore store, IConsumeMetadataFactory metadataFactory, CompositeFilter <ConsumeContext> filter) { _store = store; _metadataFactory = metadataFactory; _filter = filter; }
public AcessoAuditEventsObserver(IConsumeMetadataFactory metadataFactory, CompositeFilter <ConsumeContext> filter, IMapper mapper) { _metadataFactory = metadataFactory; _filter = filter; _mapper = mapper; }
/// <summary> /// Add an observer that will audit consumed messages, sending them to the message audit store prior to consumption by the consumer /// </summary> /// <param name="connector">The bus or endpoint</param> /// <param name="store">The audit store</param> /// <param name="configureFilter">Filter configuration delegate</param> /// <param name="metadataFactory">Message metadata factory. If omitted, the default one will be used.</param> public static ConnectHandle ConnectConsumeAuditObserver(this IConsumeObserverConnector connector, IMessageAuditStore store, Action <IMessageFilterConfigurator> configureFilter = null, IConsumeMetadataFactory metadataFactory = null) { if (connector == null) { throw new ArgumentNullException(nameof(connector)); } if (store == null) { throw new ArgumentNullException(nameof(store)); } var specification = new ConsumeMessageFilterSpecification(); configureFilter?.Invoke(specification); var factory = metadataFactory ?? new DefaultConsumeMetadataFactory(); return(connector.ConnectConsumeObserver(new AuditConsumeObserver(store, factory, specification.Filter))); }
public static ConnectHandle ConnectAcessoAuditObserver(this IConsumeObserverConnector connector, IServiceProvider provider, Action <IMessageFilterConfigurator> configureFilter = null, IConsumeMetadataFactory metadataFactory = null) { if (connector == null) { throw new ArgumentNullException(nameof(connector)); } var specification = new ConsumeMessageFilterSpecification(); configureFilter?.Invoke(specification); var factory = metadataFactory ?? new DefaultConsumeMetadataFactory(); var mapper = provider.GetService <IMapper>(); return(connector.ConnectConsumeObserver(new AcessoAuditEventsObserver(factory, specification.Filter, mapper))); }