feat: 信令跟踪功能接口
This commit is contained in:
@@ -21,7 +21,7 @@ type PacketController struct {
|
||||
packetService *traceService.Packet // 信令跟踪服务
|
||||
}
|
||||
|
||||
// 网元跟踪网卡设备列表
|
||||
// 信令跟踪网卡设备列表
|
||||
//
|
||||
// GET /devices
|
||||
func (s *PacketController) Devices(c *gin.Context) {
|
||||
@@ -29,22 +29,23 @@ func (s *PacketController) Devices(c *gin.Context) {
|
||||
c.JSON(200, result.OkData(data))
|
||||
}
|
||||
|
||||
// 网元跟踪开始
|
||||
// 信令跟踪开始
|
||||
//
|
||||
// POST /start
|
||||
func (s *PacketController) Start(c *gin.Context) {
|
||||
language := ctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
Device string `json:"device" binding:"required"` // 网卡设备
|
||||
TaskNo string `json:"taskNo" binding:"required"` // 任务编号
|
||||
Output string `json:"output" ` // 输出PCAP文件路径,为空则不输出
|
||||
TaskNo string `json:"taskNo" binding:"required"` // 任务编号
|
||||
Device string `json:"device" binding:"required"` // 网卡设备
|
||||
Filter string `json:"filter" ` // 过滤表达式(port 33030 or 33040)
|
||||
OutputPCAP bool `json:"outputPCAP" ` // 输出PCAP文件 (默认false)
|
||||
}
|
||||
if err := c.ShouldBindBodyWith(&body, binding.JSON); err != nil {
|
||||
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||
return
|
||||
}
|
||||
|
||||
msg, err := s.packetService.LiveStart(body.TaskNo, body.Device, body.Output)
|
||||
msg, err := s.packetService.LiveStart(body.TaskNo, body.Device, body.Filter, body.OutputPCAP)
|
||||
if err != nil {
|
||||
c.JSON(200, result.ErrMsg(i18n.TKey(language, err.Error())))
|
||||
return
|
||||
@@ -52,7 +53,7 @@ func (s *PacketController) Start(c *gin.Context) {
|
||||
c.JSON(200, result.OkData(msg))
|
||||
}
|
||||
|
||||
// 网元跟踪结束
|
||||
// 信令跟踪结束
|
||||
//
|
||||
// POST /stop
|
||||
func (s *PacketController) Stop(c *gin.Context) {
|
||||
@@ -72,14 +73,14 @@ func (s *PacketController) Stop(c *gin.Context) {
|
||||
c.JSON(200, result.Ok(nil))
|
||||
}
|
||||
|
||||
// 网元跟踪过滤
|
||||
// 信令跟踪过滤
|
||||
//
|
||||
// PUT /filter
|
||||
func (s *PacketController) Filter(c *gin.Context) {
|
||||
language := ctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
TaskNo string `json:"taskNo" binding:"required"` // 任务编号
|
||||
Expr string `json:"expr" binding:"required"` // 过滤表达式(port 33030 or 33040)
|
||||
Expr string `json:"expr" ` // 过滤表达式(port 33030 or 33040)
|
||||
}
|
||||
if err := c.ShouldBindBodyWith(&body, binding.JSON); err != nil {
|
||||
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||
@@ -93,19 +94,28 @@ func (s *PacketController) Filter(c *gin.Context) {
|
||||
c.JSON(200, result.Ok(nil))
|
||||
}
|
||||
|
||||
// 网元跟踪续期保活
|
||||
// 信令跟踪续期保活
|
||||
//
|
||||
// PUT /keep-alive
|
||||
func (s *PacketController) KeepAlive(c *gin.Context) {
|
||||
language := ctx.AcceptLanguage(c)
|
||||
var body struct {
|
||||
IntervalIn int `json:"intervalIn" ` // 服务续约的频率,默认设置为60秒
|
||||
Duration int `json:"duration" ` // 服务失效的时间,默认设置为120秒
|
||||
TaskNo string `json:"taskNo" binding:"required"` // 任务编号
|
||||
Duration int `json:"duration" ` // 服务失效的时间,默认设置为120秒
|
||||
}
|
||||
err := c.ShouldBindBodyWith(&body, binding.JSON)
|
||||
if err != nil {
|
||||
if err := c.ShouldBindBodyWith(&body, binding.JSON); err != nil {
|
||||
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||
return
|
||||
}
|
||||
|
||||
// 默认设置为120秒
|
||||
if body.Duration <= 1 {
|
||||
body.Duration = 120
|
||||
}
|
||||
|
||||
if err := s.packetService.LiveTimeout(body.TaskNo, body.Duration); err != nil {
|
||||
c.JSON(200, result.ErrMsg(i18n.TKey(language, err.Error())))
|
||||
return
|
||||
}
|
||||
c.JSON(200, result.Ok(nil))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user