mirror of
https://github.com/yusing/godoxy.git
synced 2026-04-19 23:41:38 +02:00
added new file button in config editor, dockerfile fix
This commit is contained in:
38
src/go-proxy/args.go
Normal file
38
src/go-proxy/args.go
Normal file
@@ -0,0 +1,38 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type Args struct {
|
||||
Command string
|
||||
}
|
||||
|
||||
const (
|
||||
CommandStart = ""
|
||||
CommandVerify = "verify"
|
||||
CommandReload = "reload"
|
||||
)
|
||||
|
||||
var ValidCommands = []string{CommandStart, CommandVerify, CommandReload}
|
||||
|
||||
func getArgs() Args {
|
||||
var args Args
|
||||
flag.Parse()
|
||||
args.Command = flag.Arg(0)
|
||||
if err := validateArgs(args.Command, ValidCommands); err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
return args
|
||||
}
|
||||
|
||||
func validateArgs[T comparable](arg T, validArgs []T) error {
|
||||
for _, v := range validArgs {
|
||||
if arg == v {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
return NewNestedError("invalid argument").Subjectf("%v", arg)
|
||||
}
|
||||
Reference in New Issue
Block a user