Skip to content

Commit fa91a58

Browse files
author
Bernhard B
committed
fixed bug in response parsing
* strip info and warn messages from output
1 parent 58ee22e commit fa91a58

File tree

1 file changed

+40
-1
lines changed

1 file changed

+40
-1
lines changed

src/client/cli.go

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,32 @@ func NewCliClient(signalCliMode SignalCliMode, signalCliApiConfig *utils.SignalC
2323
}
2424
}
2525

26+
func stripInfoAndWarnMessages(input string) (string, string, string) {
27+
output := ""
28+
infoMessages := ""
29+
warnMessages := ""
30+
lines := strings.Split(input, "\n")
31+
for _, line := range lines {
32+
if strings.HasPrefix(line, "INFO") {
33+
if infoMessages != "" {
34+
infoMessages += "\n"
35+
}
36+
infoMessages += line
37+
} else if strings.HasPrefix(line, "WARN") {
38+
if warnMessages != "" {
39+
warnMessages += "\n"
40+
}
41+
warnMessages += line
42+
} else {
43+
if output != "" {
44+
output += "\n"
45+
}
46+
output += line
47+
}
48+
}
49+
return output, infoMessages, warnMessages
50+
}
51+
2652
func (s *CliClient) Execute(wait bool, args []string, stdin string) (string, error) {
2753
containerId, err := getContainerId()
2854

@@ -116,7 +142,20 @@ func (s *CliClient) Execute(wait bool, args []string, stdin string) (string, err
116142
combinedOutput := stdoutBuffer.String() + stderrBuffer.String()
117143
log.Debug("signal-cli output (stdout): ", stdoutBuffer.String())
118144
log.Debug("signal-cli output (stderr): ", stderrBuffer.String())
119-
return combinedOutput, nil
145+
strippedOutput, infoMessages, warnMessages := stripInfoAndWarnMessages(combinedOutput)
146+
for _, line := range strings.Split(infoMessages, "\n") {
147+
if line != "" {
148+
log.Info(line)
149+
}
150+
}
151+
152+
for _, line := range strings.Split(warnMessages, "\n") {
153+
if line != "" {
154+
log.Warn(line)
155+
}
156+
}
157+
158+
return strippedOutput, nil
120159
} else {
121160
stdout, err := cmd.StdoutPipe()
122161
if err != nil {

0 commit comments

Comments
 (0)