[HttpGet("stream")]
public async Task StreamAsync(CancellationToken cancellationToken)
{
Response.Headers.Append("Content-Type", "text/event-stream");
while(!cancellationToken.IsCancellationRequested)
{
var sseEvent = new SseEvent<object>
{
Action = SseAction.Heartbeat,
Timestamp = timeProvider.GetUtcNow().DateTime
};
var serializedSseEvent = Serialization.Serialize(sseEvent);
await Response.WriteAsync($"{serializedSseEvent}", cancellationToken).ConfigureAwait(false);
await Response.Body.FlushAsync(cancellationToken).ConfigureAwait(false);
await Task.Delay(sseSettings.Timeout, cancellationToken).ConfigureAwait(false);
}
}
[HttpGet("stream")]
public async Task StreamAsync(CancellationToken cancellationToken)
{
Response.Headers.Append("Content-Type", "text/event-stream");
while(!cancellationToken.IsCancellationRequested)
{
var sseEvent = new SseEvent<object>
{
Action = SseAction.Heartbeat,
Timestamp = timeProvider.GetUtcNow().DateTime
};
var serializedSseEvent = Serialization.Serialize(sseEvent);
await Response.WriteAsync($"{serializedSseEvent}", cancellationToken).ConfigureAwait(false);
await Response.Body.FlushAsync(cancellationToken).ConfigureAwait(false);
await Task.Delay(sseSettings.Timeout, cancellationToken).ConfigureAwait(false);
}
}