1
0
mirror of synced 2024-11-23 09:23:51 +00:00
Tapeti/Examples/03-FlowRequestResponse/ReceivingMessageController.cs
Mark van Renswoude 165680fd38 Added ValueTask support
- This is a breaking change for custom middleware implementations
Added validation for return type handling
- This may be breaking for incorrect implementations, but highly unlikely
2022-02-09 11:27:07 +01:00

33 lines
925 B
C#

using System.Threading.Tasks;
using Messaging.TapetiExample;
using Tapeti.Annotations;
namespace _03_FlowRequestResponse
{
[MessageController]
[DynamicQueue("tapeti.example.03")]
public class ReceivingMessageController
{
// No publisher required, responses can simply be returned
public static async Task<QuoteResponseMessage> HandleQuoteRequest(QuoteRequestMessage message)
{
var quote = message.Amount switch
{
1 =>
// Well, they asked for it... :-)
"'",
2 => "\"",
_ => new string('\'', message.Amount)
};
// Just gonna let them wait for a bit, to demonstrate async message handlers
await Task.Delay(1000);
return new QuoteResponseMessage
{
Quote = quote
};
}
}
}