public override Task Invoke(ISubscribeContext context, Func <Task> next) { foreach (var eventType in context.EventTypes) { testContext.SubscribedEvents.Add(eventType); } return(next()); }
private void Configuration(ISubscribeContext ctx, string routingKey) => ctx.UseMessageContext(context => new ElwarkMessageContext { RetryInformation = context.GetRetryInformation(), GlobalRequestId = (context.GetMessage() as IntegrationEvent)?.Id ?? Guid.NewGuid() }) .UseConsumerConcurrency(_configuration.PrefetchCount) .UseSubscribeConfiguration(cfg => cfg .Consume(x => x.WithPrefetchCount(_configuration.PrefetchCount) .WithRoutingKey(routingKey)) .FromDeclaredQueue(x => x.WithName($"{_configuration.QueueName}:{routingKey}") .WithArgument(QueueArgument.DeadLetterExchange, "dlx")) .OnDeclaredExchange(x => x.WithName(_configuration.ExchangeName)));
public static ISubscribeContext UseMessageContext(this ISubscribeContext context, Func <IPipeContext, object> contextFunc) { context.Properties.TryAdd(PipebasedContextFunc, contextFunc); return(context); }
public static ISubscribeContext UseSubscribeConfiguration(this ISubscribeContext context, Action <IConsumerConfigurationBuilder> configuration) { context.Properties.Add(PipeKey.ConfigurationAction, configuration); return(context); }
private static void SubscribeWithName(this ISubscribeContext subscribeContext, string queueName) { subscribeContext.UseSubscribeConfiguration(configuration => configuration.FromDeclaredQueue(queue => queue.WithName(queueName))); }
/// <summary> /// Turns off the best practice enforcement for the given context. /// </summary> public static void DoNotEnforceBestPractices(this ISubscribeContext context) { context.Extensions.SetDoNotEnforceBestPractices(); }
/// <summary> /// Turns off the best practice enforcement for the given context. /// </summary> public static void DoNotEnforceBestPractices(this ISubscribeContext context) { Guard.AgainstNull(nameof(context), context); context.Extensions.SetDoNotEnforceBestPractices(); }