From 1a14762d84e469140bcd2d84b65c5ff1f6d42e40 Mon Sep 17 00:00:00 2001 From: nadoo <287492+nadoo@users.noreply.github.com> Date: Sun, 13 Aug 2017 20:25:21 +0800 Subject: [PATCH] general: change StringSlice to StringSliceUniq to remove duplicate flag values --- main.go | 6 +++--- rule.go | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 59f7717..f2b2972 100644 --- a/main.go +++ b/main.go @@ -114,9 +114,9 @@ func main() { flag.StringVar(&conf.Strategy, "strategy", "rr", "forward strategy, default: rr") flag.StringVar(&conf.CheckWebSite, "checkwebsite", "www.apple.com", "proxy check HTTP(NOT HTTPS) website address, format: HOST[:PORT], default port: 80") flag.IntVar(&conf.CheckDuration, "checkduration", 30, "proxy check duration(seconds)") - flag.StringSliceVar(&conf.Listen, "listen", nil, "listen url, format: SCHEMA://[USER|METHOD:PASSWORD@][HOST]:PORT") - flag.StringSliceVar(&conf.Forward, "forward", nil, "forward url, format: SCHEMA://[USER|METHOD:PASSWORD@][HOST]:PORT[,SCHEMA://[USER|METHOD:PASSWORD@][HOST]:PORT]") - flag.StringSliceVar(&conf.RuleFile, "rulefile", nil, "rule file path") + flag.StringSliceUniqVar(&conf.Listen, "listen", nil, "listen url, format: SCHEMA://[USER|METHOD:PASSWORD@][HOST]:PORT") + flag.StringSliceUniqVar(&conf.Forward, "forward", nil, "forward url, format: SCHEMA://[USER|METHOD:PASSWORD@][HOST]:PORT[,SCHEMA://[USER|METHOD:PASSWORD@][HOST]:PORT]") + flag.StringSliceUniqVar(&conf.RuleFile, "rulefile", nil, "rule file path") flag.Usage = usage err := flag.Parse() diff --git a/rule.go b/rule.go index 24c50e7..5b0e27d 100644 --- a/rule.go +++ b/rule.go @@ -29,14 +29,14 @@ func newRuleProxyFromFile(ruleFile string) (*ruleForwarder, error) { p := &ruleForwarder{name: ruleFile} f := conflag.NewFromFile("rule", ruleFile) - f.StringSliceVar(&p.Forward, "forward", nil, "forward url, format: SCHEMA://[USER|METHOD:PASSWORD@][HOST]:PORT[,SCHEMA://[USER|METHOD:PASSWORD@][HOST]:PORT]") + f.StringSliceUniqVar(&p.Forward, "forward", nil, "forward url, format: SCHEMA://[USER|METHOD:PASSWORD@][HOST]:PORT[,SCHEMA://[USER|METHOD:PASSWORD@][HOST]:PORT]") f.StringVar(&p.Strategy, "strategy", "rr", "forward strategy, default: rr") f.StringVar(&p.CheckWebSite, "checkwebsite", "www.apple.com", "proxy check HTTP(NOT HTTPS) website address, format: HOST[:PORT], default port: 80") f.IntVar(&p.CheckDuration, "checkduration", 30, "proxy check duration(seconds)") - f.StringSliceVar(&p.Domain, "domain", nil, "domain") - f.StringSliceVar(&p.IP, "ip", nil, "ip") - f.StringSliceVar(&p.CIDR, "cidr", nil, "cidr") + f.StringSliceUniqVar(&p.Domain, "domain", nil, "domain") + f.StringSliceUniqVar(&p.IP, "ip", nil, "ip") + f.StringSliceUniqVar(&p.CIDR, "cidr", nil, "cidr") err := f.Parse() if err != nil {