go-common/app/interface/live/web-room/server/http/http.go
2019-04-22 18:49:16 +08:00

60 lines
1.5 KiB
Go

package http
import (
v12 "go-common/app/interface/live/web-room/api/http/v1"
"go-common/app/interface/live/web-room/conf"
"go-common/app/interface/live/web-room/service"
"go-common/app/interface/live/web-room/service/v1"
v1index "go-common/app/interface/live/web-room/service/v1/dm"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/auth"
"net/http"
)
var (
authn *auth.Auth
srv *service.Service
dmservice *v1index.DMService
)
// Init init
func Init(c *conf.Config) {
srv = service.New(c)
initService(c)
engine := bm.DefaultServer(c.BM)
route(engine)
if err := engine.Start(); err != nil {
log.Error("bm Start error(%v)", err)
panic(err)
}
}
func initService(c *conf.Config) {
dmservice = v1index.NewDMService(c)
authn = auth.New(c.AuthN)
}
func route(e *bm.Engine) {
e.Ping(ping)
e.Register(register)
g := e.Group("/xlive/web-room")
g.POST("/v1/dM/sendmsg", authn.User, sendMsgSendMsg)
g.POST("/v1/dM/gethistory", getHistory)
v12.RegisterV1CaptchaService(e, v1.NewCaptchaService(conf.Conf), map[string]bm.HandlerFunc{
"auth": authn.User,
})
v12.RegisterV1RoomAdminService(e, v1.NewRoomAdminService(conf.Conf), map[string]bm.HandlerFunc{})
}
func ping(c *bm.Context) {
if err := srv.Ping(c); err != nil {
log.Error("ping error(%v)", err)
c.AbortWithStatus(http.StatusServiceUnavailable)
}
}
func register(c *bm.Context) {
c.JSON(map[string]interface{}{}, nil)
}