private static SSEEvent ParseEvent()

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;
        }