servicecontext.go 967 B

12345678910111213141516171819202122232425262728
  1. package svc
  2. import (
  3. "slowwildws/internal/config"
  4. "slowwildws/internal/constants"
  5. "slowwildws/internal/middleware"
  6. "slowwildws/internal/server"
  7. "time"
  8. slowWildQueue "git.banshen.xyz/huangguangrong/slow_wild_queue"
  9. "github.com/zeromicro/go-zero/rest"
  10. )
  11. type ServiceContext struct {
  12. Config config.Config
  13. WsServer *server.WebsocketServer
  14. UserMiddleware rest.Middleware
  15. MsgChatTransferClient slowWildQueue.MsgChatTransferClient
  16. }
  17. func NewServiceContext(c config.Config) *ServiceContext {
  18. return &ServiceContext{
  19. Config: c,
  20. WsServer: server.NewWebsockerServer(c, server.WithServerMaxConnectionIdle(time.Duration(c.MaxConnectionIdle)*time.Second), server.WithServerAck(constants.NoAck)),
  21. UserMiddleware: middleware.NewJwtMiddleware(c.Auth.AccessSecret).Handle,
  22. MsgChatTransferClient: slowWildQueue.NewMsgChatTransferClient(c.MsgChatTransfer.Addrs, c.MsgChatTransfer.Topic),
  23. }
  24. }