package di import ( "context" "time" "{{.ModPrefix}}{{.Name}}/internal/service" "github.com/bilibili/kratos/pkg/log" bm "github.com/bilibili/kratos/pkg/net/http/blademaster" ) //go:generate wire type App struct { svc *service.Service http *bm.Engine } func NewApp(svc *service.Service, h *bm.Engine) (app *App, closeFunc func(), err error){ app = &App{ svc: svc, http: h, } closeFunc = func() { ctx, cancel := context.WithTimeout(context.Background(), 35*time.Second) if err := h.Shutdown(ctx); err != nil { log.Error("httpSrv.Shutdown error(%v)", err) } svc.Close() cancel() } return }