コード例 #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
}