func parseEvent()

in golang/service/service.go [83:108]


func parseEvent(eventLines []string) (SSEEvent, error) {
	var event SSEEvent

	for _, line := range eventLines {
		if strings.HasPrefix(line, "data:") {
			event.Data = tea.String(tea.StringValue(event.Data) + strings.TrimPrefix(line, "data:") + "\n")
		} else if strings.HasPrefix(line, "id:") {
			id := strings.TrimPrefix(line, "id:")
			event.ID = tea.String(strings.Trim(id, " "))
		} else if strings.HasPrefix(line, "event:") {
			eventName := strings.TrimPrefix(line, "event:")
			event.Event = tea.String(strings.Trim(eventName, " "))
		} else if strings.HasPrefix(line, "retry:") {
			trimmedLine := strings.TrimPrefix(line, "retry:")
			trimmedLine = strings.Trim(trimmedLine, " ")
			retryValue, _err := strconv.Atoi(trimmedLine)
			if _err != nil {
				return event, fmt.Errorf("retry %v is not a int", trimmedLine)
			}
			event.Retry = tea.Int(retryValue)
		}
	}
	data := strings.TrimRight(tea.StringValue(event.Data), "\n")
	event.Data = tea.String(strings.Trim(data, " "))
	return event, nil
}