From 7264fca4f819625c9fa0955167589aba73d3e1bb Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Tue, 19 Dec 2023 21:45:34 +0800 Subject: [PATCH] parsing config directly from cmd flag -C --- cmd/gost/program.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cmd/gost/program.go b/cmd/gost/program.go index 6fba317..bd6f264 100644 --- a/cmd/gost/program.go +++ b/cmd/gost/program.go @@ -1,6 +1,7 @@ package main import ( + "encoding/json" "net/http" "os" @@ -19,8 +20,10 @@ type program struct { func (p *program) Init(env svc.Environment) error { cfg := &config.Config{} if cfgFile != "" { - if err := cfg.ReadFile(cfgFile); err != nil { - return err + if err := json.Unmarshal([]byte(cfgFile), cfg); err != nil { + if err := cfg.ReadFile(cfgFile); err != nil { + return err + } } } @@ -30,7 +33,7 @@ func (p *program) Init(env svc.Environment) error { } cfg = p.mergeConfig(cfg, cmdCfg) - if len(cfg.Services) == 0 && apiAddr == "" { + if len(cfg.Services) == 0 && apiAddr == "" && cfg.API == nil { if err := cfg.Load(); err != nil { return err }