asterisk-outgoing-call-api/flags.go

46 lines
1.0 KiB
Go
Raw Normal View History

2021-05-13 18:05:41 -05:00
package main
import (
"flag"
"fmt"
"os"
)
// Flags are command line tick options.
type Flags struct {
ConfigPath string
HTTPBind string
HTTPPort uint
}
// Init configures the golang flags and parses the command line provided options.
func (f *Flags) Init() {
flag.Usage = func() {
fmt.Printf("asterisk-outgoing-call-api: Make an outgoing call via an API call.\n\nUsage:\n")
flag.PrintDefaults()
}
var printVersion bool
flag.BoolVar(&printVersion, "v", false, "Print version")
var usage string
usage = "Load configuration from file."
flag.StringVar(&f.ConfigPath, "config", "", usage)
flag.StringVar(&f.ConfigPath, "c", "", usage+" (shorthand)")
usage = "Bind address for http server"
flag.StringVar(&f.HTTPBind, "http-bind", "", usage)
flag.StringVar(&f.HTTPBind, "b", "", usage+" (shorthand)")
usage = "Bind port for http server"
flag.UintVar(&f.HTTPPort, "http-port", 0, usage)
flag.UintVar(&f.HTTPPort, "p", 0, usage+" (shorthand)")
flag.Parse()
if printVersion {
fmt.Println("asterisk-outgoing-call-api: 0.1")
os.Exit(0)
}
}