feat: 引入features的gin路由
This commit is contained in:
78
omc/omc.go
78
omc/omc.go
@@ -11,6 +11,7 @@ import (
|
||||
|
||||
_ "net/http/pprof"
|
||||
|
||||
"nms_cxy/features"
|
||||
"nms_cxy/features/dbrest"
|
||||
"nms_cxy/features/event"
|
||||
"nms_cxy/features/fm"
|
||||
@@ -30,6 +31,48 @@ import (
|
||||
"golang.org/x/net/http2/h2c"
|
||||
)
|
||||
|
||||
// const defaultConfigFile = "./etc/restconf.yaml"
|
||||
|
||||
// func init() {
|
||||
// cfile := flag.String("c", defaultConfigFile, "config file")
|
||||
// pv := flag.Bool("v", false, "print version")
|
||||
// ph := flag.Bool("h", false, "print help")
|
||||
|
||||
// flag.Parse()
|
||||
// if *pv {
|
||||
// fmt.Printf("OMC restagent version: %s\n%s\n%s\n\n", global.Version, global.BuildTime, global.GoVer)
|
||||
// os.Exit(0)
|
||||
// }
|
||||
// if *ph {
|
||||
// flag.Usage()
|
||||
// os.Exit(0)
|
||||
// }
|
||||
|
||||
// config.ReadConfig(*cfile)
|
||||
// config.UriPrefix = config.GetYamlConfig().OMC.UriPrefix
|
||||
// //fmt.Println(config.UriPrefix)
|
||||
// }
|
||||
|
||||
// func listenIPv6(ipv6 string, port int) {
|
||||
// //
|
||||
// addr := &net.TCPAddr{
|
||||
// IP: net.ParseIP(ipv6),
|
||||
// Port: port,
|
||||
// }
|
||||
|
||||
// listener, err := net.ListenTCP("tcp6", addr)
|
||||
// if err != nil {
|
||||
// fmt.Println("Failed to listen:", err)
|
||||
// return
|
||||
// }
|
||||
|
||||
// server := &http.Server{}
|
||||
// err = server.Serve(listener)
|
||||
// if err != nil {
|
||||
// fmt.Println("Failed to serve:", err)
|
||||
// }
|
||||
// }
|
||||
|
||||
func HttpListen(addr string, router http.Handler) {
|
||||
// 创建HTTP服务器
|
||||
h2s := &http2.Server{
|
||||
@@ -40,6 +83,12 @@ func HttpListen(addr string, router http.Handler) {
|
||||
Handler: h2c.NewHandler(router, h2s),
|
||||
}
|
||||
|
||||
// // support http 2.0 server
|
||||
// err := http2.ConfigureServer(server, &http2.Server{})
|
||||
// if err != nil {
|
||||
// fmt.Println("ConfigureServer err:", err)
|
||||
// os.Exit(11)
|
||||
// }
|
||||
err := server.ListenAndServe()
|
||||
if err != nil {
|
||||
fmt.Println("ListenAndServe err:", err)
|
||||
@@ -165,6 +214,12 @@ func main() {
|
||||
fmt.Println("dborm.initDbClient err:", err)
|
||||
os.Exit(4)
|
||||
}
|
||||
err = dborm.InitGormConnect(conf.Database.Type, conf.Database.User, conf.Database.Password,
|
||||
conf.Database.Host, conf.Database.Port, conf.Database.Name, conf.Database.ConnParam, true)
|
||||
if err != nil {
|
||||
fmt.Println("dborm.InitGormConnect err:", err)
|
||||
os.Exit(4)
|
||||
}
|
||||
err = fm.InitDbClient(conf.Database.Type, conf.Database.User, conf.Database.Password,
|
||||
conf.Database.Host, conf.Database.Port, conf.Database.Name, conf.Database.ConnParam)
|
||||
if err != nil {
|
||||
@@ -204,6 +259,10 @@ func main() {
|
||||
// AMF上报的UE事件, 无前缀,暂时特殊处理
|
||||
app.POST(event.UriUEEventAMF, event.PostUEEventFromAMF)
|
||||
|
||||
// register feature service gin.Engine
|
||||
features.InitServiceEngine(app)
|
||||
|
||||
// var listenLocalhost bool = false
|
||||
for _, rest := range conf.Rest {
|
||||
// ipv4 goroutines
|
||||
if rest.IPv4 != "" {
|
||||
@@ -214,6 +273,16 @@ func main() {
|
||||
go HttpListen(listen, app)
|
||||
}
|
||||
}
|
||||
// if rest.IPv4 != "0.0.0.0" && !listenLocalhost {
|
||||
// listenLocalhost = true
|
||||
// // 默认启动localhost侦听
|
||||
// listenLocal := "127.0.0.1" + ":" + strconv.Itoa(int(rest.Port))
|
||||
// if strings.ToLower(rest.Scheme) == "https" {
|
||||
// go HttpListenTLS(listenLocal, rest.CaFile, rest.CertFile, rest.KeyFile, rest.ClientAuthType, app)
|
||||
// } else {
|
||||
// go HttpListen(listenLocal, app)
|
||||
// }
|
||||
// }
|
||||
// ipv6 goroutines
|
||||
if rest.IPv6 != "" {
|
||||
listenv6 := "[" + rest.IPv6 + "]" + ":" + strconv.Itoa(int(rest.Port))
|
||||
@@ -224,6 +293,15 @@ func main() {
|
||||
}
|
||||
}
|
||||
|
||||
// if rest.IPv6 != "::" {
|
||||
// // 默认启动localhost侦听
|
||||
// listenv6Local := "[" + "::1" + "]" + ":" + strconv.Itoa(int(rest.Port))
|
||||
// if strings.ToLower(rest.Scheme) == "https" {
|
||||
// go HttpListenTLS(listenv6Local, rest.CaFile, rest.CertFile, rest.KeyFile, app)
|
||||
// } else {
|
||||
// go HttpListen(listenv6Local, app)
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
if conf.WebServer.Enabled {
|
||||
|
||||
Reference in New Issue
Block a user