12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package main
- import (
- "fmt"
- "github.com/kptyun/KPTCOMM/comm"
- "github.com/kptyun/KPTCOMM/mdns"
- "github.com/kptyun/KPTCOMM/models"
- "github.com/kptyun/KPTCOMM/pkg/logging"
- "github.com/kptyun/KPTCOMM/pkg/setting"
- "github.com/kptyun/KPTCOMM/routers"
- "log"
- "net/http"
- "strings"
- //"unsafe"
- )
- // @title 科湃腾Go语言后台API
- // @version 1.1.2
- // @description kptyun_service
- // @contact.name 朱红宾
- // @contact.url https://www.dairyinfo.com.cn
- // @contact.email kptzhu@163.com
- // @host
- // @BasePath /
- func main() {
- setting.Setup("")
- models.Setup()
- logging.Setup()
- //inject.Init()
- //err := inject.LoadCasbinPolicyData()
- //if err != nil {
- // panic("加载casbin策略数据发生错误: " + err.Error())
- //}
- 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,
- }
- //fmt.Println(unsafe.Alignof(unintptr(0)))
- log.Printf("[info] start http server listening %s", endPoint)
- if setting.CommSetting.PortName != "" {
- go comm.OpenComm()
- }
- if strings.Trim(setting.ServerSetting.Mdns_servicename, " ") != "" {
- go mdns.Mdns(strings.Trim(setting.ServerSetting.Mdns_servicename, " "), setting.ServerSetting.Mdns_serviceport)
- }
- //ginpprof.Wrap(routersInit)
- _ = server.ListenAndServe()
- // If you want Graceful Restart, you need a Unix system and download github.com/fvbock/endless
- //endless.DefaultReadTimeOut = readTimeout
- //endless.DefaultWriteTimeOut = writeTimeout
- //endless.DefaultMaxHeaderBytes = maxHeaderBytes
- //server := endless.NewServer(endPoint, routersInit)
- //server.BeforeBegin = func(add string) {
- // log.Printf("Actual pid is %d", syscall.Getpid())
- //}
- //
- //err := server.ListenAndServe()
- //if err != nil {
- // log.Printf("Server err: %v", err)
- //}
- }
|