func main() { defaultConfig, err := util.DefaultConfigLocation() if err != nil { log.Fatalf("Error setting config file: %v", err) } // Get command line arguments configFile := flag.String("config", defaultConfig, "config file to load") flag.Parse() // Load configuration config.LoadConfig(*configFile) // Set up logger log.SetOutput(&lumberjack.Logger{ Filename: config.Logger.LogFile, MaxSize: config.Logger.MaxSize, MaxBackups: config.Logger.MaxBackups, MaxAge: config.Logger.MaxAge, }) wsContainer := restful.NewContainer() wsContainer.Router(restful.CurlyRouter{}) //Enable Gzip support wsContainer.EnableContentEncoding(true) uc := user_service.UsersController{} uc.Register(wsContainer) services.InitDb() registry.Init("Users", registry.UsersLocation) httpAddr := ":" + config.Service.Port if config.Service.UseSSL == true { certFile := config.Service.SSLCertFile keyFile := config.Service.SSLKeyFile log.Fatal(http.ListenAndServeTLS(httpAddr, certFile, keyFile, wsContainer)) } else { log.Fatal(http.ListenAndServe(httpAddr, wsContainer)) } }
func main() { // Load the default config config.LoadDefaults() //Parse the command line parameters config.ParseCmdParams(config.DefaultCmdLine{ HostName: "localhost", NodeId: "us1", Port: "4100", UseSSL: false, RegistryLocation: "http://localhost:2379", }) // Fetch Configuration from etcd config.InitEtcd() config.FetchCommonConfig() config.FetchServiceSection(config.UserService) config.FetchServiceSection(config.AuthService) // Set up logger log.SetOutput(&lumberjack.Logger{ Filename: config.Logger.LogFile, MaxSize: config.Logger.MaxSize, MaxBackups: config.Logger.MaxBackups, MaxAge: config.Logger.MaxAge, }) wsContainer := restful.NewContainer() wsContainer.Router(restful.CurlyRouter{}) //Enable Gzip support wsContainer.EnableContentEncoding(true) uc := user_service.UsersController{} uc.Register(wsContainer) database.InitDb() registry.Init("Users", registry.UsersLocation) httpAddr := ":" + config.Service.Port if config.Service.UseSSL == true { certFile := config.Service.SSLCertFile keyFile := config.Service.SSLKeyFile log.Fatal(http.ListenAndServeTLS(httpAddr, certFile, keyFile, wsContainer)) } else { log.Fatal(http.ListenAndServe(httpAddr, wsContainer)) } }