예제 #1
0
파일: pocket.go 프로젝트: chzyer/pocket
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)
	}
}
예제 #2
0
파일: godl.go 프로젝트: chzyer/godl
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
}
예제 #3
0
파일: temux.go 프로젝트: chzyer/temux
func NewConfig() *Config {
	var cfg Config
	flagx.Parse(&cfg)
	return &cfg
}
예제 #4
0
파일: simsata.go 프로젝트: chzyer/simsata
func NewConfig() *Config {
	var c Config
	flagx.Parse(&c)
	return &c
}
예제 #5
0
파일: fsmq.go 프로젝트: allmad/madq
func NewConfig() *Config {
	cfg := new(Config)
	flagx.Parse(cfg)
	return cfg
}