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 wsContainer.EnableContentEncoding(true) wc := wiki_service.WikisController{} wc.Register(wsContainer) services.InitDb() registry.Init("Wikis", registry.WikisLocation) 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 default config config.LoadDefaults() // Parse the command line parameters config.ParseCmdParams(config.DefaultCmdLine{ HostName: "localhost", NodeId: "ws1", Port: "4110", UseSSL: false, RegistryLocation: "http://localhost:2379", }) // Fetch configuration from etcd config.InitEtcd() config.FetchCommonConfig() config.FetchServiceSection(config.WikiService) // 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 wsContainer.EnableContentEncoding(true) wc := wiki_service.WikisController{} wc.Register(wsContainer) database.InitDb() registry.Init("Wikis", registry.WikisLocation) 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)) } }