diff --git a/socketserver/cmd/ffzsocketserver/console.go b/socketserver/cmd/ffzsocketserver/console.go index a09399b7..a6638d39 100644 --- a/socketserver/cmd/ffzsocketserver/console.go +++ b/socketserver/cmd/ffzsocketserver/console.go @@ -61,7 +61,7 @@ func commandLineConsole() { if val.Mallocs == 0 { continue } - shell.Println(val.Size, "bytes:", val.Mallocs, "allocs", val.Frees, "frees") + shell.Print(fmt.Sprintf("%5d: %6d outstanding (%d total)\n", val.Size, val.Mallocs - val.Frees, val.Mallocs)) } shell.Println(m.NumGC, "collections occurred") return "", nil diff --git a/socketserver/internal/server/backend.go b/socketserver/internal/server/backend.go index 08547026..10b2bb73 100644 --- a/socketserver/internal/server/backend.go +++ b/socketserver/internal/server/backend.go @@ -136,9 +136,12 @@ func RequestRemoteData(remoteCommand, data string, auth AuthInfo) (responseStr s if err != nil { return "", err } + defer resp.Body.Close() + if resp.StatusCode != 200 { + return "", httpError(resp.StatusCode) + } respBytes, err := ioutil.ReadAll(resp.Body) - resp.Body.Close() if err != nil { return "", err } @@ -162,6 +165,10 @@ func SendAggregatedData(sealedForm url.Values) error { if err != nil { return err } + if resp.StatusCode != 200 { + resp.Body.Close() + return httpError(resp.StatusCode) + } return resp.Body.Close() } @@ -180,6 +187,10 @@ func FetchBacklogData(chatSubs []string) ([]ClientMessage, error) { if err != nil { return nil, err } + defer resp.Body.Close() + if resp.StatusCode != 200 { + return nil, httpError(resp.StatusCode) + } dec := json.NewDecoder(resp.Body) var messages []ClientMessage err = dec.Decode(messages) @@ -190,6 +201,10 @@ func FetchBacklogData(chatSubs []string) ([]ClientMessage, error) { return messages, nil } +func httpError(statusCode int) error { + return fmt.Errorf("backend http error: %d", statusCode) +} + func GenerateKeys(outputFile, serverId, theirPublicStr string) { var err error output := ConfigFile{