|
@@ -507,36 +507,56 @@ func (s *wafLogService) convertRawDataToExportResults(ctx context.Context, rawDa
|
|
|
}
|
|
|
|
|
|
if strings.Contains(v.ApiName, "tcp") || strings.Contains(v.ApiName, "udp") || strings.Contains(v.ApiName, "web") {
|
|
|
- if mapData["port"] != nil {
|
|
|
- port = mapData["port"].(string)
|
|
|
- }
|
|
|
- if mapData["domain"] != nil {
|
|
|
- domain = mapData["domain"].(string)
|
|
|
+ // 安全地获取extraData
|
|
|
+ var extraData map[string]interface{}
|
|
|
+ if mapData["data"] != nil {
|
|
|
+ if data, ok := mapData["data"].(map[string]interface{}); ok {
|
|
|
+ extraData = data
|
|
|
+ }
|
|
|
}
|
|
|
- if mapData["backend_list"] != nil {
|
|
|
- if strings.Contains(v.ApiName, "web") {
|
|
|
- var backendList []map[string]interface{}
|
|
|
- err := json.Unmarshal([]byte(mapData["backend_list"].(string)), &backendList)
|
|
|
- if err != nil {
|
|
|
- s.Logger.Error("解析后端列表失败", zap.Error(err))
|
|
|
- continue
|
|
|
+
|
|
|
+ if extraData != nil {
|
|
|
+ if extraData["port"] != nil {
|
|
|
+ if portStr, ok := extraData["port"].(string); ok {
|
|
|
+ port = portStr
|
|
|
}
|
|
|
- for _, backend := range backendList {
|
|
|
- if backend["addr"] != nil {
|
|
|
- AddrBackendList = backend["addr"]
|
|
|
- }
|
|
|
- if backend["customHost"] != nil {
|
|
|
- customHost = backend["customHost"].(string)
|
|
|
+ }
|
|
|
+ if extraData["domain"] != nil {
|
|
|
+ if domainStr, ok := extraData["domain"].(string); ok {
|
|
|
+ domain = domainStr
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if extraData["backend_list"] != nil {
|
|
|
+ if strings.Contains(v.ApiName, "web") {
|
|
|
+ if backendListStr, ok := extraData["backend_list"].(string); ok {
|
|
|
+ var backendList []map[string]interface{}
|
|
|
+ err := json.Unmarshal([]byte(backendListStr), &backendList)
|
|
|
+ if err != nil {
|
|
|
+ s.Logger.Error("解析后端列表失败", zap.Error(err))
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ for _, backend := range backendList {
|
|
|
+ if backend["addr"] != nil {
|
|
|
+ AddrBackendList = backend["addr"]
|
|
|
+ }
|
|
|
+ if backend["customHost"] != nil {
|
|
|
+ if customHostStr, ok := backend["customHost"].(string); ok {
|
|
|
+ customHost = customHostStr
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ AddrBackendList = extraData["backend_list"]
|
|
|
}
|
|
|
- } else {
|
|
|
- AddrBackendList = mapData["backend_list"]
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if mapData["comment"] != nil {
|
|
|
- comment = mapData["comment"].(string)
|
|
|
+ if commentStr, ok := mapData["comment"].(string); ok {
|
|
|
+ comment = commentStr
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 优化:从批量获取的网关组数据中查找
|