diff options
| author | Shulhan <ms@kilabit.info> | 2022-05-13 21:14:29 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2022-05-13 21:14:29 +0700 |
| commit | 20c3f80e7dfd9e453d757199beb2137c09a9f536 (patch) | |
| tree | 82711df23adee40b578a4da395a9588877132d88 /cmd/resolver/resolver.go | |
| parent | c9de13ce2432dee7d58fb45c4cecbf026786a48d (diff) | |
| download | rescached-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.go | 18 |
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) } |
