public QueueSuffixMiddleware(QueueSuffixOptions options = null)
 {
     ActivatedFlagFunc     = options?.ActiveFunc ?? (context => context.GetCustomQueueSuffixActivated());
     CustomSuffixFunc      = options?.CustomSuffixFunc ?? (context => context.GetCustomQueueSuffix());
     QueueDeclareFunc      = options?.QueueDeclareFunc ?? (context => context.GetQueueDeclaration());
     AppendSuffixAction    = options?.AppendSuffixAction ?? ((queue, suffix) => queue.Name = $"{queue.Name}_{suffix}");
     ConsumeCfgFunc        = options?.ConsumeConfigFunc ?? (context => context.GetConsumeConfiguration());
     SkipSuffixFunc        = options?.SkipSuffixFunc ?? (string.IsNullOrWhiteSpace);
     ContextSuffixOverride = options?.ContextSuffixOverrideFunc ?? (context => null);
 }
		public static IClientBuilder UseQueueSuffix(this IClientBuilder builder, QueueSuffixOptions options = null)
		{
			if (options == null)
			{
				builder.Register(pipe => pipe.Use<QueueSuffixMiddleware>());
			}
			else
			{
				builder.Register(pipe => pipe.Use<QueueSuffixMiddleware>(options));
			}
			return builder;
		}