func parseOutput()

in capi/lib/lint/x509lint/x509lint.go [78:99]


func parseOutput(output string) X509Lint {
	result := NewX509Lint()
	for _, line := range strings.Split(output, "\n") {
		if len(line) == 0 {
			continue
		}
		if strings.HasPrefix(line, "E: ") {
			if strings.Contains(line, "Fails decoding the characterset") {
				// @TODO We currently have no notion as why this happens, so we are ignoring it for now.
				continue
			}
			result.Errors = append(result.Errors, line[3:])
		} else if strings.HasPrefix(line, "W: ") {
			result.Warnings = append(result.Warnings, line[3:])
		} else if strings.HasPrefix(line, "I: ") {
			result.Info = append(result.Info, line[3:])
		} else {
			log.Printf(`unexpected x509Lint output: "%s"`, line)
		}
	}
	return result
}