public PublisherMessage( IPublisher publisher, object message, IPublisherSerializer serializer, IRouting routing, string correlationId = default, CancellationToken cancellationToken = default) { CreatedAt = DateTime.UtcNow; Routing = routing ?? throw new ArgumentNullException(nameof(routing)); CancellationToken = cancellationToken; Publisher = publisher ?? throw new ArgumentNullException(nameof(publisher)); _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); CorrelationId = correlationId ?? Guid.NewGuid().ToString(); _message = message; _headers = new Dictionary <string, object> { { nameof(Routing.ExchangeName), Routing.ExchangeName }, { nameof(Routing.RoutingKey), Routing.RoutingKey }, { "SerializerType", serializer.GetType().FullName }, { "CreatedAt", CreatedAt.ToString("s") } }; }
public IPublisherMessageBuilder <IPublisherMessage> WithSerializer(IPublisherSerializer serializer) { _serializer = serializer; return(this); }