Files
gb28181/pkg/gbs/handler.go
2025-01-31 19:55:33 +08:00

104 lines
3.3 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package gbs
import (
"github.com/gowvp/gb28181/pkg/gbs/sip"
)
func (g GB28181API) handlerMessage(ctx *sip.Context) {
// req := ctx.Request
// tx := ctx.Tx
// case "Catalog":
// // 设备列表
// sipMessageCatalog(u, body)
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusOK, "OK", nil))
// return
// case "Keepalive":
// // heardbeat
// if err := sipMessageKeepalive(u, body); err == nil {
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusOK, "OK", nil))
// // 心跳后同步注册设备列表信息
// // sipCatalog(u)
// return
// }
// case "RecordInfo":
// // 设备音视频文件列表
// sipMessageRecordInfo(u, body)
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusOK, "OK", nil))
// case "DeviceInfo":
// // 主设备信息
// sipMessageDeviceInfo(u, body)
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusOK, "OK", nil))
// return
// }
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusBadRequest, http.StatusText(http.StatusBadRequest), nil))
// }
// func (g GB28181API) handlerMessage2(ctx *sip.Context) {
// req := ctx.Request
// tx := ctx.Tx
// u, ok := parserDevicesFromReqeust(req)
// if !ok {
// // 未解析出来源用户返回错误
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusBadRequest, http.StatusText(http.StatusBadRequest), nil))
// return
// }
// // 判断是否存在body数据
// if len, have := req.ContentLength(); !have || len.Equals(0) {
// // 不存在就直接返回的成功
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusOK, "OK", nil))
// return
// }
// body := req.Body()
// message := &MessageReceive{}
// if err := sip.XMLDecode(body, message); err != nil {
// // logrus.Warnln("Message Unmarshal xml err:", err, "body:", string(body))
// // 有些body xml发送过来的不带encoding 而且格式不是utf8的导致xml解析失败此处使用gbk转utf8后再次尝试xml解析
// body, err = sip.GbkToUtf8(body)
// if err != nil {
// // logrus.Errorln("message gbk to utf8 err", err)
// }
// if err := sip.XMLDecode(body, message); err != nil {
// // logrus.Errorln("Message Unmarshal xml after gbktoutf8 err:", err, "body:", string(body))
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusBadRequest, http.StatusText(http.StatusBadRequest), nil))
// return
// }
// }
//
// switch message.CmdType {
// case "Catalog":
//
// // 设备列表
// sipMessageCatalog(u, body)
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusOK, "OK", nil))
// return
//
// case "Keepalive":
//
// // heardbeat
// if err := sipMessageKeepalive(u, body); err == nil {
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusOK, "OK", nil))
// // 心跳后同步注册设备列表信息
// sipCatalog(u)
// return
// }
//
// case "RecordInfo":
//
// // 设备音视频文件列表
// sipMessageRecordInfo(u, body)
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusOK, "OK", nil))
//
// case "DeviceInfo":
//
// // 主设备信息
// sipMessageDeviceInfo(u, body)
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusOK, "OK", nil))
// return
// }
//
// tx.Respond(sip.NewResponseFromRequest("", req, http.StatusBadRequest, http.StatusText(http.StatusBadRequest), nil))
}