Refactor gin router 83/12583/1
authorsubhash kumar singh <subh.singh@samsung.com>
Fri, 1 Mar 2024 10:41:10 +0000 (10:41 +0000)
committersubhash kumar singh <subh.singh@samsung.com>
Fri, 1 Mar 2024 10:41:10 +0000 (10:41 +0000)
Refactor gin router to have custom http server.

Change-Id: Iec4d712345950d39b186da173db147100b0ebb70
Signed-off-by: subhash kumar singh <subh.singh@samsung.com>
apis/mmes_apis.go
main.go
routers/router.go [new file with mode: 0644]

index 8d34437..340ec32 100644 (file)
@@ -36,24 +36,6 @@ type ModelInfo struct {
 
 var dbmgr core.DBMgr
 
-func init() {
-       logging.INFO("Starting api server...")
-
-       // set up the db manager
-       dbmgr = core.GetDBManagerInstance()
-
-       router := gin.Default()
-
-       router.POST("/registerModel", RegisterModel)
-       router.GET("/getModelInfo", GetModelInfo)
-       router.GET("/getModelInfo/:modelName", GetModelInfoByName)
-       router.MaxMultipartMemory = 8 << 20 //8 Mb
-       router.POST("/uploadModel/:modelName", UploadModel)
-       router.GET("/downloadModel/:modelName/model.zip", DownloadModel)
-       router.Run(os.Getenv("MMES_URL"))
-       logging.INFO("Started api server...")
-}
-
 func RegisterModel(cont *gin.Context) {
        var returnCode int = http.StatusCreated
        var responseMsg string = "Model registered successfully"
diff --git a/main.go b/main.go
index 637a482..4eaf649 100644 (file)
--- a/main.go
+++ b/main.go
@@ -18,10 +18,22 @@ limitations under the License.
 package main
 
 import (
-       _ "gerrit.o-ran-sc.org/r/aiml-fw/awmf/modelmgmtservice/apis"
+       "net/http"
+       "os"
+       "time"
+
        "gerrit.o-ran-sc.org/r/aiml-fw/awmf/modelmgmtservice/logging"
+       "gerrit.o-ran-sc.org/r/aiml-fw/awmf/modelmgmtservice/routers"
 )
 
 func main() {
+       router := routers.InitRouter()
+       server := http.Server{
+               Addr:         os.Getenv("MMES_URL"),
+               Handler:      router,
+               ReadTimeout:  10 * time.Second,
+               WriteTimeout: 10 * time.Second,
+       }
        logging.INFO("Starting api..")
+       server.ListenAndServe()
 }
diff --git a/routers/router.go b/routers/router.go
new file mode 100644 (file)
index 0000000..933441b
--- /dev/null
@@ -0,0 +1,19 @@
+package routers
+
+import (
+       "gerrit.o-ran-sc.org/r/aiml-fw/awmf/modelmgmtservice/apis"
+       "github.com/gin-gonic/gin"
+)
+
+func InitRouter() *gin.Engine {
+       r := gin.New()
+       r.Use(gin.Logger())
+       r.Use(gin.Recovery())
+
+       r.POST("/registerModel", apis.RegisterModel)
+       r.GET("/getModelInfo", apis.GetModelInfo)
+       r.GET("/getModelInfo/:modelName", apis.GetModelInfoByName)
+       r.POST("/uploadModel/:modelName", apis.UploadModel)
+       r.GET("/downloadModel/:modelName/model.zip", apis.DownloadModel)
+       return r
+}