func main() { r.SetVerbose(true) defer utils.Recover() utils.ListenSignals() utils.Liveness() if os.Getenv("DEBUG_N") != "true" { gin.SetMode(gin.ReleaseMode) } engine := gin.New() engine.Use(gin.Recovery()) engine.Use(func() gin.HandlerFunc { return func(c *gin.Context) { defer c.Next() log.Info(c.Request.Method, c.Request.URL.Path, c.Writer.Status()) } }()) api.Initialize(engine) engine.Run(config.Get(config.KEY_API_PORT)) }
func (p RpcMessageReceiver) handleRpc(args []interface{}, kwargs map[string]interface{}) *gowamp.CallResult { defer utils.Recover() var msg messaging.Message if msgStr, ok := args[0].(string); ok { err := msg.FromString(msgStr) if err != nil { return p.makeErrorResult(err) } } else { err := models.Convert(args[0], &msg) if err != nil { return p.makeErrorResult(err) } } log.Info("RPC message received:", msg) res, err := p.MessageProcessor.Process(msg) if err != nil { return p.makeErrorResult(err) } return p.makeResult(res) }
func main() { r.SetVerbose(true) defer utils.Recover() utils.ListenSignals() utils.Liveness() err := server.Initialize() if err != nil { panic(err) } log.Info("Realtime service listening") log.Error(http.ListenAndServe(config.Get(config.KEY_REALTIME_PORT), nil)) }
func (p WsMessageReceiver) Receive() { go func() { defer utils.Recover() for { select { case m := <-p.Interceptor.OnMessage: msgType := m.messageType if msgType == gowamp.SUBSCRIBE { p.handleSubscribe(m, m.msg.(*gowamp.Subscribe)) } else if msgType == gowamp.PUBLISH { p.handlePublish(m, m.msg.(*gowamp.Publish)) } } } }() }