12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package http
- import (
- "go-common/app/interface/main/web-show/conf"
- "go-common/app/interface/main/web-show/service/job"
- "go-common/app/interface/main/web-show/service/operation"
- res "go-common/app/interface/main/web-show/service/resource"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- "go-common/library/net/http/blademaster/middleware/auth"
- "go-common/library/net/http/blademaster/middleware/cache"
- "go-common/library/net/http/blademaster/middleware/cache/store"
- "go-common/library/net/http/blademaster/middleware/verify"
- )
- var (
- jobSvc *job.Service
- opSvc *operation.Service
- vfySvr *verify.Verify
- authSvr *auth.Auth
- resSvc *res.Service
- // cache components
- cacheSvr *cache.Cache
- deg *cache.Degrader
- )
- // Init int http service
- func Init(c *conf.Config) {
- initService(c)
- // init external router
- cacheSvr = cache.New(store.NewMemcache(c.DegradeConfig.Memcache))
- deg = cache.NewDegrader(c.DegradeConfig.Expire)
- engineOut := bm.DefaultServer(c.BM.Outer)
- outerRouter(engineOut)
- // init Outer serve
- if err := engineOut.Start(); err != nil {
- log.Error("engineOut.Start error(%v)", err)
- panic(err)
- }
- engineLocal := bm.DefaultServer(c.BM.Local)
- localRouter(engineLocal)
- // init Outlocaler serve
- if err := engineLocal.Start(); err != nil {
- log.Error("engineLocal.Start error(%v)", err)
- panic(err)
- }
- }
- // initService init service
- func initService(c *conf.Config) {
- authSvr = auth.New(c.Auth)
- vfySvr = verify.New(c.Verify)
- jobSvc = job.New(c)
- opSvc = operation.New(c)
- resSvc = res.New(c)
- }
- //CloseService close all service
- func CloseService() {
- jobSvc.Close()
- opSvc.Close()
- }
- // outerRouter init outer router api path.
- func outerRouter(e *bm.Engine) {
- // init api
- e.Ping(ping)
- group := e.Group("/x/web-show", bm.CORS())
- {
- group.GET("/join", join)
- group.GET("/notice", notice)
- group.GET("/promote", promote)
- group.GET("/res/loc", authSvr.Guest, cacheSvr.Cache(deg.Args("id", "pf"), nil), resource)
- group.GET("/res/locs", authSvr.Guest, cacheSvr.Cache(deg.Args("ids", "pf"), nil), resources)
- group.GET("/ad/video", authSvr.Guest, advideo)
- group.GET("/archive/relation", relation)
- group.GET("/urls", vfySvr.Verify, urlMonitor)
- }
- e.GET("/x/ad/video", authSvr.Guest, advideo)
- }
- // innerRouter init local router api path.
- func localRouter(e *bm.Engine) {
- group := e.Group("/x/web-show", bm.CORS())
- {
- group.GET("/monitor/ping", ping)
- group.GET("/version", version)
- group.GET("/gray", grayRate)
- }
- }
|