func MsgServerStart() { mqmsg := msgqueue.MqMsg{ Msg: message.NewMsg(), } persistent := PerMqAgent{ Msg: message.NewMsg(), } api := rest.NewApi() api.Use(rest.DefaultDevStack...) router, err := rest.MakeRouter( //rest.Get("/test", msg.TestMsg), rest.Get("/testmq/:mqid", msgqueue.DefaultMM.TestMq), rest.Post("/send_msg/:mqid", mqmsg.PostMsg), rest.Get("/receive_msg/:mqid", mqmsg.GetMsg), rest.Post("/send/:mqid", persistent.PostMsg), rest.Get("/receive/:mqid", persistent.GetMsg), ) if err != nil { log.Fatal(err) } api.SetApp(router) log.Fatal(http.ListenAndServe(":"+ListenPort, api.MakeHandler())) }
func (mqagent MqAgent) PostMsg(w rest.ResponseWriter, r *rest.Request) { msg := message.NewMsg() mqid, err := strconv.Atoi(r.PathParam("mqid")) if err != nil { log.Log("info", err.Error(), nil) } mq, ok := mqagent[mqid] if ok { msg.MQid = mqid r.DecodeJsonPayload(msg.Value) mq.Lock() mq.AddMsg(*msg) mq.Unlock() w.WriteJson(msg.Value) } else { } }