commands: Fix handling of persistent CLI flags

See #4607
This commit is contained in:
Bjørn Erik Pedersen
2018-04-13 08:42:29 +02:00
parent f3775877c6
commit 2aab6dee85
6 changed files with 94 additions and 28 deletions

View File

@@ -57,14 +57,14 @@ type serverCmd struct {
*baseBuilderCmd
}
func newServerCmd() *serverCmd {
return newServerCmdSignaled(nil)
func (b *commandsBuilder) newServerCmd() *serverCmd {
return b.newServerCmdSignaled(nil)
}
func newServerCmdSignaled(stop <-chan bool) *serverCmd {
func (b *commandsBuilder) newServerCmdSignaled(stop <-chan bool) *serverCmd {
cc := &serverCmd{stop: stop}
cc.baseBuilderCmd = newBuilderCmd(&cobra.Command{
cc.baseBuilderCmd = b.newBuilderCmd(&cobra.Command{
Use: "server",
Aliases: []string{"serve"},
Short: "A high performance webserver",
@@ -463,7 +463,8 @@ func (sc *serverCmd) fixURL(cfg config.Provider, s string, port int) (string, er
}
func memStats() error {
sc := newServerCmd().getCommand()
b := newCommandsBuilder()
sc := b.newServerCmd().getCommand()
memstats := sc.Flags().Lookup("memstats").Value.String()
if memstats != "" {
interval, err := time.ParseDuration(sc.Flags().Lookup("meminterval").Value.String())