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
}