public IConsumerConfigurationBuilder Consume(Action <IConsumeConfigurationBuilder> consume) { var builder = new ConsumeConfigurationBuilder(Config.Consume); consume(builder); Config.Consume = builder.Config; if (builder.ExistingExchange) { Config.Exchange = null; } if (builder.ExistingQueue) { Config.Queue = null; } return(this); }
public override async Task InvokeAsync(IPipeContext context, CancellationToken token) { var config = ExtractConfigFromMessageType(context) ?? ExtractConfigFromStrings(context); var action = GetConfigurationAction(context); if (action != null) { Logger.LogInformation("Configuration action for {queueName} found.", config?.QueueName); var builder = new ConsumeConfigurationBuilder(config); action(builder); config = builder.Config; } context.Properties.TryAdd(PipeKey.ConsumeConfiguration, config); await Next.InvokeAsync(context, token); }