aboutsummaryrefslogtreecommitdiff
path: root/cmd/resolver/resolver.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2022-05-13 21:14:29 +0700
committerShulhan <ms@kilabit.info>2022-05-13 21:14:29 +0700
commit20c3f80e7dfd9e453d757199beb2137c09a9f536 (patch)
tree82711df23adee40b578a4da395a9588877132d88 /cmd/resolver/resolver.go
parentc9de13ce2432dee7d58fb45c4cecbf026786a48d (diff)
downloadrescached-20c3f80e7dfd9e453d757199beb2137c09a9f536.tar.xz
cmd/resolver: implement command to delete record on hosts file
The command has the following signature, resolver hosts.d rr delete <name> <domain> Given the hosts name "hosts" and domain "my.hosts" it will delete all records that have domain name "my.hosts" inside the file.
Diffstat (limited to 'cmd/resolver/resolver.go')
-rw-r--r--cmd/resolver/resolver.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/cmd/resolver/resolver.go b/cmd/resolver/resolver.go
index 62ce953..792f8d9 100644
--- a/cmd/resolver/resolver.go
+++ b/cmd/resolver/resolver.go
@@ -362,6 +362,24 @@ func (rsol *resolver) doCmdHostsdRecord(args []string) {
fmt.Println(string(jsonb))
case subCmdDelete:
+ args = args[1:]
+ if len(args) <= 1 {
+ log.Fatalf("resolver: %s %s: missing arguments", rsol.cmd, subCmd)
+ }
+
+ resc = rsol.newRescachedClient()
+ record, err = resc.HostsdRecordDelete(args[0], args[1])
+ if err != nil {
+ log.Fatalf("resolver: %s", err)
+ }
+
+ jsonb, err = json.MarshalIndent(record, "", " ")
+ if err != nil {
+ log.Fatalf("resolver: %s", err)
+ }
+
+ fmt.Println(string(jsonb))
+
default:
log.Fatalf("resolver: %s %s: unknown command %s", rsol.cmd, subCmdRR, subCmd)
}