1
0
mirror of synced 2024-12-23 01:33:07 +01:00
Tapeti/Tapeti.Transient/TransientPublisher.cs

30 lines
813 B
C#

using System.Threading.Tasks;
namespace Tapeti.Transient
{
/// <summary>
/// Default implementation of ITransientPublisher
/// </summary>
internal class TransientPublisher : ITransientPublisher
{
private readonly TransientRouter router;
private readonly IPublisher publisher;
/// <summary>
/// </summary>
public TransientPublisher(TransientRouter router, IPublisher publisher)
{
this.router = router;
this.publisher = publisher;
}
/// <inheritdoc />
public async Task<TResponse> RequestResponse<TRequest, TResponse>(TRequest request) where TRequest : class where TResponse : class
{
return (TResponse)await router.RequestResponse(publisher, request);
}
}
}