package main import ( "fmt" "github.com/gin-gonic/gin" "github.com/tecamino/tecamino-dbm/args" "github.com/tecamino/tecamino-dbm/dbm" "github.com/tecamino/tecamino-dbm/server" ) func main() { //cli arguments a := args.Init() dbmHandler, err := dbm.NewDbmHandler(a) if err != nil { panic(err) } defer dbmHandler.SaveDb() //initialize new server dbmHandler.Log.Debug("main", "initialize new server instance") s := server.NewServer() //set routes dbmHandler.Log.Debug("main", "setting routes") s.Routes.GET("/ws", dbmHandler.WebSocket) s.Routes.GET("/saveData", dbmHandler.SaveData) s.Routes.POST("/json_data", dbmHandler.Json_Data) s.Routes.DELETE("/json_data", dbmHandler.Delete) s.Routes.GET("/", func(c *gin.Context) { c.String(200, "DBM WebSocket Server is running!") }) go func() { dbmHandler.Log.Info("main", fmt.Sprintf("http listen on %d", a.Port.Http)) // start http server if err := s.ServeHttp(a.Port.Http); err != nil { dbmHandler.Log.Error("main", "error http server "+err.Error()) panic(err) } }() dbmHandler.Log.Info("main", fmt.Sprintf("https listen on %d", a.Port.Https)) if err := s.ServeHttps(a.Port.Https, a.Cert); err != nil { dbmHandler.Log.Error("main", "error http server "+err.Error()) panic(err) } }