aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2022-04-24 11:19:38 +0700
committerShulhan <ms@kilabit.info>2022-04-24 11:24:54 +0700
commitbd144b51b440aaf07de8c775a96d6dafcdcad6bd (patch)
treef4cf2b5ccff2e04c13e4a92670824ca8ca55fef1
parentb6ae7b07309af5d0e4fd6b6d2615184054f98dd7 (diff)
downloadrescached-bd144b51b440aaf07de8c775a96d6dafcdcad6bd.tar.xz
cmd/resolver: simplify method to handle block.d command
Instead of splitting them into three methods, merge them into single method.
-rw-r--r--cmd/resolver/main.go39
-rw-r--r--cmd/resolver/resolver.go103
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.