Skip to content

Commit

Permalink
fixed bug in response parsing
Browse files Browse the repository at this point in the history
* strip info and warn messages from output
  • Loading branch information
Bernhard B committed Oct 19, 2023
1 parent 58ee22e commit fa91a58
Showing 1 changed file with 40 additions and 1 deletion.
41 changes: 40 additions & 1 deletion src/client/cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,32 @@ func NewCliClient(signalCliMode SignalCliMode, signalCliApiConfig *utils.SignalC
}
}

func stripInfoAndWarnMessages(input string) (string, string, string) {
output := ""
infoMessages := ""
warnMessages := ""
lines := strings.Split(input, "\n")
for _, line := range lines {
if strings.HasPrefix(line, "INFO") {
if infoMessages != "" {
infoMessages += "\n"
}
infoMessages += line
} else if strings.HasPrefix(line, "WARN") {
if warnMessages != "" {
warnMessages += "\n"
}
warnMessages += line
} else {
if output != "" {
output += "\n"
}
output += line
}
}
return output, infoMessages, warnMessages
}

func (s *CliClient) Execute(wait bool, args []string, stdin string) (string, error) {
containerId, err := getContainerId()

Expand Down Expand Up @@ -116,7 +142,20 @@ func (s *CliClient) Execute(wait bool, args []string, stdin string) (string, err
combinedOutput := stdoutBuffer.String() + stderrBuffer.String()
log.Debug("signal-cli output (stdout): ", stdoutBuffer.String())
log.Debug("signal-cli output (stderr): ", stderrBuffer.String())
return combinedOutput, nil
strippedOutput, infoMessages, warnMessages := stripInfoAndWarnMessages(combinedOutput)
for _, line := range strings.Split(infoMessages, "\n") {
if line != "" {
log.Info(line)
}
}

for _, line := range strings.Split(warnMessages, "\n") {
if line != "" {
log.Warn(line)
}
}

return strippedOutput, nil
} else {
stdout, err := cmd.StdoutPipe()
if err != nil {
Expand Down

0 comments on commit fa91a58

Please sign in to comment.