From bd144b51b440aaf07de8c775a96d6dafcdcad6bd Mon Sep 17 00:00:00 2001 From: Shulhan Date: Sun, 24 Apr 2022 11:19:38 +0700 Subject: cmd/resolver: simplify method to handle block.d command Instead of splitting them into three methods, merge them into single method. --- cmd/resolver/main.go | 39 +----------------- cmd/resolver/resolver.go | 103 ++++++++++++++++++++++++----------------------- 2 files changed, 54 insertions(+), 88 deletions(-) diff --git a/cmd/resolver/main.go b/cmd/resolver/main.go index 9ffc60b..c4b9367 100644 --- a/cmd/resolver/main.go +++ b/cmd/resolver/main.go @@ -66,44 +66,7 @@ func main() { switch rsol.cmd { case cmdBlockd: - args = args[1:] - if len(args) == 0 { - log.Fatalf("resolver: %s: missing sub command", cmdBlockd) - } - - subCmd = strings.ToLower(args[0]) - - switch subCmd { - case subCmdDisable: - args = args[1:] - if len(args) == 0 { - log.Fatalf("resolver: %s %s: missing argument", rsol.cmd, subCmd) - } - err = rsol.blockdDisable(args[0]) - if err != nil { - log.Fatalf("resolver: %s %s: %s", rsol.cmd, subCmd, err) - } - - case subCmdEnable: - args = args[1:] - if len(args) == 0 { - log.Fatalf("resolver: %s %s: missing argument", rsol.cmd, subCmd) - } - err = rsol.blockdEnable(args[0]) - if err != nil { - log.Fatalf("resolver: %s %s: %s", rsol.cmd, subCmd, err) - } - - case subCmdUpdate: - args = args[1:] - if len(args) == 0 { - log.Fatalf("resolver: %s %s: missing argument", rsol.cmd, subCmd) - } - err = rsol.blockdUpdate(args[0]) - if err != nil { - log.Fatalf("resolver: %s %s: %s", rsol.cmd, subCmd, err) - } - } + rsol.doCmdBlockd(args[1:]) case cmdCaches: args = args[1:] diff --git a/cmd/resolver/resolver.go b/cmd/resolver/resolver.go index 47f5e15..6998964 100644 --- a/cmd/resolver/resolver.go +++ b/cmd/resolver/resolver.go @@ -45,77 +45,80 @@ type resolver struct { insecure bool } -// blockdDisable disable specific hosts on block.d. -func (rsol *resolver) blockdDisable(name string) (err error) { +func (rsol *resolver) doCmdBlockd(args []string) { + if len(args) == 0 { + log.Fatalf("resolver: %s: missing sub command", rsol.cmd) + } + var ( resc = rsol.newRescachedClient() hb interface{} hbjson []byte + subCmd string + err error ) - hb, err = resc.BlockdDisable(name) - if err != nil { - return err - } + subCmd = strings.ToLower(args[0]) - hbjson, err = json.MarshalIndent(hb, "", " ") - if err != nil { - return err - } + switch subCmd { + case subCmdDisable: + args = args[1:] + if len(args) == 0 { + log.Fatalf("resolver: %s %s: missing argument", rsol.cmd, subCmd) + } - fmt.Println(string(hbjson)) + hb, err = resc.BlockdDisable(args[0]) + if err != nil { + log.Fatalf("resolver: %s %s: %s", rsol.cmd, subCmd, err) + } - return nil -} + hbjson, err = json.MarshalIndent(hb, "", " ") + if err != nil { + log.Fatalf("resolver: %s %s: %s", rsol.cmd, subCmd, err) + } -// blockdEnable enable specific hosts on block.d. -func (rsol *resolver) blockdEnable(name string) (err error) { - var ( - resc = rsol.newRescachedClient() + fmt.Println(string(hbjson)) - hb interface{} - hbjson []byte - ) + case subCmdEnable: + args = args[1:] + if len(args) == 0 { + log.Fatalf("resolver: %s %s: missing argument", rsol.cmd, subCmd) + } - hb, err = resc.BlockdEnable(name) - if err != nil { - return err - } + hb, err = resc.BlockdEnable(args[0]) + if err != nil { + log.Fatalf("resolver: %s %s: %s", rsol.cmd, subCmd, err) + } - hbjson, err = json.MarshalIndent(hb, "", " ") - if err != nil { - return err - } + hbjson, err = json.MarshalIndent(hb, "", " ") + if err != nil { + log.Fatalf("resolver: %s %s: %s", rsol.cmd, subCmd, err) + } - fmt.Println(string(hbjson)) + fmt.Println(string(hbjson)) - return nil -} + case subCmdUpdate: + args = args[1:] + if len(args) == 0 { + log.Fatalf("resolver: %s %s: missing argument", rsol.cmd, subCmd) + } -// blockdUpdate fetch the latest hosts file from remote block.d URL defined by -// its name. -func (rsol *resolver) blockdUpdate(blockdName string) (err error) { - var ( - resc = rsol.newRescachedClient() + hb, err = resc.BlockdUpdate(args[0]) + if err != nil { + log.Fatalf("resolver: %s %s: %s", rsol.cmd, subCmd, err) + } - hb interface{} - hbjson []byte - ) + hbjson, err = json.MarshalIndent(hb, "", " ") + if err != nil { + log.Fatalf("resolver: %s %s: %s", rsol.cmd, subCmd, err) + } - hb, err = resc.BlockdUpdate(blockdName) - if err != nil { - return err - } + fmt.Println(string(hbjson)) - hbjson, err = json.MarshalIndent(hb, "", " ") - if err != nil { - return err + default: + log.Fatalf("resolver: %s: unknown sub command: %s", rsol.cmd, subCmd) } - - fmt.Println(string(hbjson)) - - return nil } // doCmdCaches call the rescached HTTP API to fetch all caches. -- cgit v1.3