Files
maingate/main.go

48 lines
1.1 KiB
Go
Raw Permalink Normal View History

2023-05-24 12:16:03 +09:00
package main
import (
"context"
"net/http"
"repositories.action2quare.com/ayo/gocommon"
2023-06-21 14:33:29 +09:00
"repositories.action2quare.com/ayo/gocommon/flagx"
2023-05-24 15:31:01 +09:00
"repositories.action2quare.com/ayo/gocommon/logger"
2023-06-20 17:08:57 +09:00
"repositories.action2quare.com/ayo/maingate/core"
2023-05-24 12:16:03 +09:00
)
// linux : go build --ldflags="-X 'main.revision=$(git rev-parse --short HEAD)'"
// windows : for /f usebackq %F in (`git rev-parse --short HEAD`) do go build --ldflags="-X 'main.revision=%F'"
var revision = "0000000"
2023-06-21 14:33:29 +09:00
var prefix = flagx.String("prefix", "", "")
2023-05-24 12:16:03 +09:00
func main() {
2023-06-21 14:33:29 +09:00
flagx.Parse()
2023-05-24 12:16:03 +09:00
logger.Println("build revision =", revision)
ctx, cancel := context.WithCancel(context.Background())
2023-11-24 00:18:04 +09:00
defer cancel()
2023-05-24 12:16:03 +09:00
mg, err := core.New(ctx)
if err != nil {
logger.Error("core.New failed :", err)
2023-11-24 00:18:04 +09:00
return
2023-05-24 12:16:03 +09:00
}
2023-11-24 00:18:04 +09:00
defer mg.Destructor()
2023-05-24 12:16:03 +09:00
serveMux := http.NewServeMux()
2023-06-21 14:33:29 +09:00
if err := mg.RegisterHandlers(ctx, serveMux, *prefix); err != nil {
2023-05-24 12:16:03 +09:00
logger.Error("RegisterHandlers failed :", err)
2023-11-24 00:18:04 +09:00
return
2023-05-24 12:16:03 +09:00
}
server := gocommon.NewHTTPServer(serveMux)
2023-05-24 12:16:03 +09:00
logger.Println("maingate is started")
2023-11-24 00:18:04 +09:00
2023-05-24 12:16:03 +09:00
if err := server.Start(); err != nil {
logger.Error("maingate is stopped with error :", err)
}
2023-11-24 00:18:04 +09:00
logger.Println("maingate is terminated")
2023-05-24 12:16:03 +09:00
}