main.go
683 Bytes
package main
import (
"fmt"
"os"
"os/signal"
"pro2d/cmd/httpserver/action"
"pro2d/cmd/httpserver/service"
"pro2d/common"
"pro2d/common/logger"
"syscall"
)
func main() {
err := make(chan error)
stopChan := make(chan os.Signal)
signal.Notify(stopChan, syscall.SIGTERM, syscall.SIGINT, syscall.SIGKILL)
common.GlobalSconf = common.GlobalConf.AccountConf
web := service.NewAccountServer("v1", fmt.Sprintf(":%d", common.GlobalSconf.Port))
web.BindHandler(&action.AccountAction{HttpServer: web})
go func() {
err <- web.Start()
}()
select {
case e := <-err:
logger.Error("http server error: %v", e)
case <-stopChan:
logger.Debug("http stop")
web.Stop()
}
}