Files
maingate/main.go

49 lines
1.1 KiB
Go
Raw Normal View History

2023-05-24 12:16:03 +09:00
package main
import (
"context"
"flag"
"math/rand"
"net/http"
"time"
2023-05-24 15:31:01 +09:00
common "repositories.action2quare.com/ayo/gocommon"
2023-05-24 12:16:03 +09:00
"repositories.action2quare.com/ayo/maingate/core"
2023-05-24 15:31:01 +09:00
"repositories.action2quare.com/ayo/gocommon/logger"
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"
func main() {
if !flag.Parsed() {
flag.Parse()
}
logger.Println("build revision =", revision)
rand.Seed(time.Now().UnixNano())
ctx, cancel := context.WithCancel(context.Background())
mg, err := core.New(ctx)
if err != nil {
logger.Error("core.New failed :", err)
panic(err)
}
serveMux := http.NewServeMux()
if err := mg.RegisterHandlers(ctx, serveMux, *common.PrefixPtr); err != nil {
logger.Error("RegisterHandlers failed :", err)
panic(err)
}
server := common.NewHTTPServer(serveMux)
logger.Println("maingate is started")
if err := server.Start(); err != nil {
logger.Error("maingate is stopped with error :", err)
}
cancel()
mg.Destructor()
}