Farfetch/kafkaflow

[Feature Request]: Support WithCompression consumer configuration

jose-sousa-8 opened this issue · 1 comments

Is your request related to a problem you have?

No response

Describe the solution you'd like

We've deprecated all of the compression configuration builders, example:

        ////<summary>
        /// Registers a middleware to decompress the message
        /// </summary>
        /// <param name="middlewares">The middleware configuration builder</param>
        /// <typeparam name="T">The compressor type</typeparam>
        /// <returns></returns>
        [Obsolete("Compressors should only be used in backward compatibility scenarios, in the vast majority of cases native compression (producer.WithCompression()) should be used instead")]
        public static IConsumerMiddlewareConfigurationBuilder AddCompressor<T>(this IConsumerMiddlewareConfigurationBuilder middlewares)
            where T : class, IMessageCompressor
        {
            middlewares.DependencyConfigurator.AddTransient<T>();
            return middlewares.AddCompressor(resolver => resolver.Resolve<T>());
        }

Since we're moving to a new version of the framework which will be a breaking change anyway (3.0) I would suggest removing all of these obsolete methods and adding .WithCompression methods to the IConsumerConfigurationBuilder.

Are you able to help bring it to life and contribute with a Pull Request?

Yes

Additional context

Furthermore, we're suggesting adding producer.WithCompression()) when deprecating consumer configurations

Will be addressed here #433