fix: restore missing logic from refactoring

- Restore HTTP 400 status handling in log viewing that was lost during refactoring
- Restore service installation check in restart command that was missing after refactoring
This commit is contained in:
Cuong Manh Le
2025-07-30 17:35:49 +07:00
committed by Cuong Manh Le
parent ea98a59aba
commit 954395fa29
2 changed files with 17 additions and 5 deletions

View File

@@ -4,6 +4,7 @@ import (
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"path/filepath"
@@ -110,6 +111,15 @@ func (lc *LogCommand) ViewLogs(cmd *cobra.Command, args []string) error {
case http.StatusMovedPermanently:
lc.warnRuntimeLoggingNotEnabled()
return nil
case http.StatusBadRequest:
mainLog.Load().Warn().Msg("runtime debugs log is not available")
buf, err := io.ReadAll(resp.Body)
if err != nil {
mainLog.Load().Fatal().Err(err).Msg("failed to read response body")
}
mainLog.Load().Warn().Msgf("ctrld process response:\n\n%s\n", string(buf))
return nil
case http.StatusOK:
}
var logs logViewResponse
@@ -117,11 +127,6 @@ func (lc *LogCommand) ViewLogs(cmd *cobra.Command, args []string) error {
return fmt.Errorf("failed to decode view logs result: %w", err)
}
if logs.Data == "" {
mainLog.Load().Notice().Msg("No runtime logs available")
return nil
}
fmt.Print(logs.Data)
return nil
}

View File

@@ -2,8 +2,10 @@ package cli
import (
"context"
"errors"
"time"
"github.com/kardianos/service"
"github.com/spf13/cobra"
)
@@ -19,6 +21,11 @@ func (sc *ServiceCommand) Restart(cmd *cobra.Command, args []string) error {
return err
}
if _, err := s.Status(); errors.Is(err, service.ErrNotInstalled) {
mainLog.Load().Warn().Msg("service not installed")
return nil
}
p.cfg = &cfg
if iface == "" {
iface = "auto"