in DarabonbaUnitTests/Utils/StreamUtilsTest.cs [66:101]
private void HandleSseResponse(HttpListenerResponse response)
{
int count = 0;
Timer timer = null;
var cts = new CancellationTokenSource();
var token = cts.Token;
timer = new Timer(_ =>
{
if (token.IsCancellationRequested)
{
return;
}
if (count >= 5)
{
cts.Cancel();
timer.Dispose();
response.Close();
return;
}
try
{
byte[] buffer = Encoding.UTF8.GetBytes(string.Format(
"data: {0}\nevent: flow\nid: sse-test\nretry: 3\n:heartbeat\n\n",
JsonConvert.SerializeObject(new { count = count })));
response.OutputStream.Write(buffer, 0, buffer.Length);
response.OutputStream.Flush();
count++;
}
catch (ObjectDisposedException ex)
{
Console.WriteLine($"ObjectDisposedException caught: {ex.Message}");
}
}, null, 0, 100);
}