mirror of
https://github.com/linka-cloud/grpc.git
synced 2024-11-04 18:26:25 +00:00
Adphi
c0e79d8834
client: add NewFlagSet, add missing Options interface methods Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
package client
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
|
|
"github.com/caitlinelfring/go-env-default"
|
|
"github.com/spf13/pflag"
|
|
)
|
|
|
|
var u = strings.ToUpper
|
|
|
|
func NewFlagSet() (*pflag.FlagSet, Option) {
|
|
const (
|
|
addr = "address"
|
|
secure = "secure"
|
|
// caCert = "ca-cert"
|
|
// clientCert = "client-cert"
|
|
// clientKey = "client-key"
|
|
)
|
|
var (
|
|
optAddress string
|
|
optSecure bool
|
|
// optCACert string
|
|
// optCert string
|
|
// optKey string
|
|
)
|
|
flags := pflag.NewFlagSet("gRPC", pflag.ContinueOnError)
|
|
flags.StringVar(&optAddress, addr, env.GetDefault(u(addr), "0.0.0.0:0"), "Bind address for the server. 127.0.0.1:9090"+flagEnv(addr))
|
|
flags.BoolVar(&optSecure, secure, env.GetBoolDefault(u(secure), true), "Generate self signed certificate if none provided"+flagEnv(secure))
|
|
// flags.StringVar(&optCACert, caCert, "", "Path to Root CA certificate"+flagEnv(optCACert))
|
|
// flags.StringVar(&optCert, clientCert, "", "Path to Server certificate"+flagEnv(clientCert))
|
|
// flags.StringVar(&optKey, clientKey, "", "Path to Server key"+flagEnv(clientKey))
|
|
return flags, func(o *options) {
|
|
o.addr = optAddress
|
|
o.secure = optSecure
|
|
|
|
}
|
|
}
|
|
|
|
func flagEnv(name string) string {
|
|
return fmt.Sprintf(" [$%s]", strings.Replace(u(name), "-", "_", -1))
|
|
}
|