/// <summary> /// Registers a middleware to deserialize json messages using schema registry /// </summary> /// <param name="middlewares">The middleware configuration builder</param> /// <typeparam name="TMessage">The message type</typeparam> /// <returns></returns> public static IConsumerMiddlewareConfigurationBuilder AddSchemaRegistryJsonSerializer <TMessage>( this IConsumerMiddlewareConfigurationBuilder middlewares) { return(middlewares.AddSerializer( resolver => new ConfluentJsonSerializer(resolver), _ => new SingleMessageTypeResolver(typeof(TMessage)))); }
/// <summary> /// Registers a middleware to deserialize avro messages using schema registry /// </summary> /// <param name="middlewares">The middleware configuration builder</param> /// <returns></returns> public static IConsumerMiddlewareConfigurationBuilder AddSchemaRegistryAvroSerializer( this IConsumerMiddlewareConfigurationBuilder middlewares) { return(middlewares.AddSerializer( resolver => new ConfluentAvroSerializer(resolver), resolver => new SchemaRegistryTypeResolver(new ConfluentAvroTypeNameResolver(resolver.Resolve <ISchemaRegistryClient>())))); }
/// <summary> /// Registers a middleware to deserialize messages /// </summary> /// <typeparam name="TSerializer">A class that implements <see cref="IMessageSerializer"/></typeparam> public static IConsumerMiddlewareConfigurationBuilder AddSerializer <TSerializer>( this IConsumerMiddlewareConfigurationBuilder consumer) where TSerializer : class, IMessageSerializer { return(consumer.AddSerializer( resolver => resolver.Resolve <TSerializer>(), resolver => resolver.Resolve <DefaultMessageTypeResolver>())); }
/// <summary> /// Register a middleware to deserialize messages /// </summary> /// <typeparam name="TSerializer">A class that implements <see cref="IMessageSerializer"/></typeparam> /// <param name="middlewares"></param> /// <param name="serializerFactory">A factory to create a <see cref="IMessageSerializer"/></param> public static IConsumerMiddlewareConfigurationBuilder AddSerializer <TSerializer>( this IConsumerMiddlewareConfigurationBuilder middlewares, Factory <TSerializer> serializerFactory) where TSerializer : class, IMessageSerializer { return(middlewares.AddSerializer( serializerFactory, resolver => new DefaultMessageTypeResolver())); }
/// <summary> /// Register a middleware to deserialize the message to a fixed type /// </summary> /// <param name="middlewares">The middleware configuration builder</param> /// <param name="serializerFactory">A factory to create a <see cref="ISerializer"/></param> /// <typeparam name="TMessage">The message type</typeparam> /// <typeparam name="TSerializer">A class that implements <see cref="ISerializer"/></typeparam> /// <returns></returns> public static IConsumerMiddlewareConfigurationBuilder AddSingleTypeSerializer <TMessage, TSerializer>( this IConsumerMiddlewareConfigurationBuilder middlewares, Factory <TSerializer> serializerFactory) where TSerializer : class, ISerializer { return(middlewares.AddSerializer( serializerFactory, _ => new SingleMessageTypeResolver(typeof(TMessage)))); }
/// <summary> /// Register a middleware to deserialize the message to a fixed type /// </summary> /// <param name="consumer"></param> /// <param name="serializerFactory">A factory to create a <see cref="IMessageSerializer"/></param> /// <typeparam name="TMessage">The message type</typeparam> /// <typeparam name="TSerializer">A class that implements <see cref="IMessageSerializer"/></typeparam> /// <returns></returns> public static IConsumerMiddlewareConfigurationBuilder AddSingleTypeSerializer <TMessage, TSerializer>( this IConsumerMiddlewareConfigurationBuilder consumer, Factory <TSerializer> serializerFactory) where TSerializer : class, IMessageSerializer { return(consumer.AddSerializer( serializerFactory, resolver => resolver.Resolve <SingleMessageTypeResolver <TMessage> >())); }
/// <summary> /// Registers a middleware to deserialize messages /// </summary> /// <typeparam name="TSerializer">A class that implements <see cref="IMessageSerializer"/></typeparam> public static IConsumerMiddlewareConfigurationBuilder AddSerializer <TSerializer>( this IConsumerMiddlewareConfigurationBuilder middlewares) where TSerializer : class, IMessageSerializer { middlewares.DependencyConfigurator.AddTransient <TSerializer>(); return(middlewares.AddSerializer( resolver => resolver.Resolve <TSerializer>(), resolver => new DefaultMessageTypeResolver())); }
/// <summary> /// Register a middleware to deserialize the message to a fixed type /// </summary> /// <param name="middlewares">The middleware configuration builder</param> /// <param name="messageType">The message type</param> /// <typeparam name="TSerializer">A class that implements <see cref="ISerializer"/></typeparam> /// <returns></returns> public static IConsumerMiddlewareConfigurationBuilder AddSingleTypeSerializer <TSerializer>( this IConsumerMiddlewareConfigurationBuilder middlewares, Type messageType) where TSerializer : class, ISerializer { middlewares.DependencyConfigurator.AddTransient <TSerializer>(); return(middlewares.AddSerializer( resolver => resolver.Resolve <TSerializer>(), _ => new SingleMessageTypeResolver(messageType))); }
/// <summary> /// Register a middleware to deserialize the message to a fixed type /// </summary> /// <param name="middlewares"></param> /// <typeparam name="TSerializer">A class that implements <see cref="IMessageSerializer"/></typeparam> /// <typeparam name="TMessage">The message type</typeparam> /// <returns></returns> public static IConsumerMiddlewareConfigurationBuilder AddSingleTypeSerializer <TMessage, TSerializer>( this IConsumerMiddlewareConfigurationBuilder middlewares) where TSerializer : class, IMessageSerializer { return(middlewares.AddSerializer <TSerializer, SingleMessageTypeResolver <TMessage> >()); }