pastebin/register/router.go

38 lines
892 B
Go

package register
import (
"github.com/gin-gonic/gin"
"github.com/sirupsen/logrus"
"gitter.top/coco/coco"
"pastebin/config"
"pastebin/gen/wire"
)
type Router struct{}
func NewRouter() *Router {
return &Router{}
}
// Register 注册路由
func (receiver *Router) Register() error {
cfg := config.Get()
// 从这里开始实例化路由注册器
var register = coco.NewRegister()
register.DefaultRouter(coco.WithListenAddress(cfg.ServerListen),
coco.WithGinMode(gin.DebugMode), coco.WithCors(), coco.WithRecovery())
register.RegisterStruct(wire.InitPastebinService())
_ = register.PreRun(func() error {
engine := register.RawEngine()
engine.Static("/assets", "./webui/dist/assets")
engine.NoRoute(func(ctx *gin.Context) {
ctx.File("./webui/dist/index.html")
})
return nil
})
logrus.Infof("api server: http://%s", cfg.ServerListen)
register.Run()
return nil
}