/// <summary>
 /// Register a middleware to compress the message
 /// </summary>
 /// <typeparam name="T">A class that implements <see cref="IMessageCompressor"/></typeparam>
 public static IProducerMiddlewareConfigurationBuilder AddCompressor <T>(
     this IProducerMiddlewareConfigurationBuilder middlewares)
     where T : class, IMessageCompressor
 {
     return(middlewares.AddCompressor(resolver => resolver.Resolve <T>()));
 }
 /// <summary>
 /// Registers a middleware to compress the message
 /// </summary>
 /// <typeparam name="T">A class that implements <see cref="IMessageCompressor"/></typeparam>
 public static IProducerMiddlewareConfigurationBuilder AddCompressor <T>(this IProducerMiddlewareConfigurationBuilder middlewares)
     where T : class, IMessageCompressor
 {
     middlewares.DependencyConfigurator.AddTransient <T>();
     return(middlewares.AddCompressor(resolver => resolver.Resolve <T>()));
 }