in Darabonba/Utils/StreamUtils.cs [197:232]
private static SSEEvent ParseEvent(string rawEvent)
{
var sseEvent = new SSEEvent();
var lines = rawEvent.Split('\n');
foreach (var line in lines)
{
if (line.StartsWith(DATA_PREFIX))
{
sseEvent.Data = line.Substring(DATA_PREFIX.Length).Trim();
}
else if (line.StartsWith(EVENT_PREFIX))
{
sseEvent.Event = line.Substring(EVENT_PREFIX.Length).Trim();
}
else if (line.StartsWith(ID_PREFIX))
{
sseEvent.Id = line.Substring(ID_PREFIX.Length).Trim();
}
else if (line.StartsWith(RETRY_PREFIX))
{
var retryData = line.Substring(RETRY_PREFIX.Length).Trim();
int retryValue;
if (int.TryParse(retryData, out retryValue))
{
sseEvent.Retry = retryValue;
}
}
else if (line.StartsWith(":"))
{
// ignore the line
}
}
return sseEvent;
}