diff options
| author | Shulhan <ms@kilabit.info> | 2022-04-24 12:19:32 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2022-04-24 12:19:32 +0700 |
| commit | f30942daafd60a629a17cb08beeca6e4bb86aa93 (patch) | |
| tree | 0491a10452c8faad676e5d080c616b87d79b9dbc | |
| parent | 19fed9320513d8898d8bedd940f0d1c0a599204f (diff) | |
| download | rescached-f30942daafd60a629a17cb08beeca6e4bb86aa93.tar.xz | |
cmd/resolver: move handling command env to resolver
| -rw-r--r-- | cmd/resolver/main.go | 26 | ||||
| -rw-r--r-- | cmd/resolver/resolver.go | 45 |
2 files changed, 33 insertions, 38 deletions
diff --git a/cmd/resolver/main.go b/cmd/resolver/main.go index 267ff64..284c521 100644 --- a/cmd/resolver/main.go +++ b/cmd/resolver/main.go @@ -35,9 +35,7 @@ func main() { var ( rsol = new(resolver) - subCmd string args []string - err error optHelp bool ) @@ -72,29 +70,7 @@ func main() { rsol.doCmdCaches(args[1:]) case cmdEnv: - args = args[1:] - if len(args) == 0 { - rsol.doCmdEnv() - return - } - - subCmd = strings.ToLower(args[0]) - switch subCmd { - case subCmdUpdate: - args = args[1:] - if len(args) == 0 { - log.Fatalf("resolver: %s %s: missing file argument", rsol.cmd, subCmd) - } - - err = rsol.doCmdEnvUpdate(args[0]) - if err != nil { - log.Fatalf("resolver: %s", err) - } - - default: - log.Printf("resolver: %s: unknown sub command: %s", rsol.cmd, subCmd) - os.Exit(2) - } + rsol.doCmdEnv(args[1:]) case cmdHostsd: rsol.doCmdHostsd(args[1:]) diff --git a/cmd/resolver/resolver.go b/cmd/resolver/resolver.go index 579c179..1c55669 100644 --- a/cmd/resolver/resolver.go +++ b/cmd/resolver/resolver.go @@ -178,36 +178,55 @@ func (rsol *resolver) doCmdCaches(args []string) { } } -func (rsol *resolver) doCmdEnv() { +func (rsol *resolver) doCmdEnv(args []string) { var ( resc = rsol.newRescachedClient() env *rescached.Environment + subCmd string envJson []byte err error ) - env, err = resc.Env() - if err != nil { - log.Printf("resolver: %s: %s", rsol.cmd, err) + if len(args) == 0 { + env, err = resc.Env() + if err != nil { + log.Fatalf("resolver: %s: %s", rsol.cmd, err) + } + + envJson, err = json.MarshalIndent(env, "", " ") + if err != nil { + log.Fatalf("resolver: %s: %s", rsol.cmd, err) + } + + fmt.Println(string(envJson)) return } - envJson, err = json.MarshalIndent(env, "", " ") - if err != nil { - log.Printf("resolver: %s: %s", rsol.cmd, err) - return + subCmd = strings.ToLower(args[0]) + switch subCmd { + case subCmdUpdate: + args = args[1:] + if len(args) == 0 { + log.Fatalf("resolver: %s %s: missing file argument", rsol.cmd, subCmd) + } + + err = rsol.doCmdEnvUpdate(resc, args[0]) + if err != nil { + log.Fatalf("resolver: %s", err) + } + + default: + log.Printf("resolver: %s: unknown sub command: %s", rsol.cmd, subCmd) + os.Exit(2) } - fmt.Printf("%s\n", envJson) } // doCmdEnvUpdate update the server environment by reading the JSON formatted // environment from file or from stdin. -func (rsol *resolver) doCmdEnvUpdate(fileOrStdin string) (err error) { +func (rsol *resolver) doCmdEnvUpdate(resc *rescached.Client, fileOrStdin string) (err error) { var ( - resc = rsol.newRescachedClient() - env *rescached.Environment envJson []byte ) @@ -236,7 +255,7 @@ func (rsol *resolver) doCmdEnvUpdate(fileOrStdin string) (err error) { return fmt.Errorf("%s %s: %w", cmdEnv, subCmdUpdate, err) } - fmt.Printf("%s\n", envJson) + fmt.Println(string(envJson)) return nil } |
