56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
package main
|
|||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
"log"
|
||
|
|
"message-nest/pkg/table"
|
||
|
|
"net/http"
|
||
|
|
|
||
|
|
"github.com/gin-gonic/gin"
|
||
|
|
|
||
|
|
"message-nest/models"
|
||
|
|
"message-nest/pkg/logging"
|
||
|
|
"message-nest/pkg/setting"
|
||
|
|
"message-nest/pkg/util"
|
||
|
|
"message-nest/routers"
|
||
|
|
)
|
||
|
|
|
||
|
|
func init() {
|
||
|
|
setting.Setup()
|
||
|
|
models.Setup()
|
||
|
|
logging.Setup()
|
||
|
|
util.Setup()
|
||
|
|
table.Setup()
|
||
|
|
}
|
||
|
|
|
||
|
|
// @title Golang Gin API
|
||
|
|
// @version 1.0
|
||
|
|
// @description An example of gin
|
||
|
|
// @termsOfService https://github.com/EDDYCJY/go-gin-example
|
||
|
|
// @license.name MIT
|
||
|
|
// @license.url https://message-nest/blob/master/LICENSE
|
||
|
|
func main() {
|
||
|
|
gin.SetMode(setting.ServerSetting.RunMode)
|
||
|
|
|
||
|
|
routersInit := routers.InitRouter()
|
||
|
|
readTimeout := setting.ServerSetting.ReadTimeout
|
||
|
|
writeTimeout := setting.ServerSetting.WriteTimeout
|
||
|
|
endPoint := fmt.Sprintf(":%d", setting.ServerSetting.HttpPort)
|
||
|
|
maxHeaderBytes := 1 << 20
|
||
|
|
|
||
|
|
server := &http.Server{
|
||
|
|
Addr: endPoint,
|
||
|
|
Handler: routersInit,
|
||
|
|
ReadTimeout: readTimeout,
|
||
|
|
WriteTimeout: writeTimeout,
|
||
|
|
MaxHeaderBytes: maxHeaderBytes,
|
||
|
|
}
|
||
|
|
|
||
|
|
log.Printf("[info] start http server listening http://0.0.0.0%s", endPoint)
|
||
|
|
|
||
|
|
err := server.ListenAndServe()
|
||
|
|
if err != nil {
|
||
|
|
log.Printf("Server err: %v", err)
|
||
|
|
}
|
||
|
|
}
|