func main() { cfg := new(Config) flagx.Parse(cfg) InitMongo(cfg.Mongo, cfg.Db) mux := http.NewServeMux() Handler(mux) if cfg.Key != "" { done := make(chan bool) go func() { err := http.ListenAndServeTLS(":443", cfg.Crt, cfg.Key, mux) if err != nil { logex.Error(err) } done <- err == nil }() d := true select { case <-time.After(time.Second): case d = <-done: } if d { mux := http.NewServeMux() RedirectHandler(mux) if err := http.ListenAndServe(cfg.Listen, mux); err != nil { logex.Error(err) } return } } if err := http.ListenAndServe(cfg.Listen, mux); err != nil { logex.Error(err) } }
func NewConfig() *Config { var c Config c.obj = flagx.Parse(&c) if c.Url == "" && c.Url2 != "" { c.Url = c.Url2 } logex.ShowCode = c.Debug return &c }
func NewConfig() *Config { var cfg Config flagx.Parse(&cfg) return &cfg }
func NewConfig() *Config { var c Config flagx.Parse(&c) return &c }
func NewConfig() *Config { cfg := new(Config) flagx.Parse(cfg) return cfg }