package http import ( "dns-server/log" ) // enrichLogsWithDomainInfo 为日志条目添加域名信息、威胁信息和跟踪器信息 func (s *Server) enrichLogsWithDomainInfo(logs []log.QueryLog) []map[string]interface{} { enrichedLogs := make([]map[string]interface{}, len(logs)) for i, logItem := range logs { // 将日志条目转换为 map logMap := make(map[string]interface{}) logMap["timestamp"] = logItem.Timestamp logMap["clientIP"] = logItem.ClientIP logMap["domain"] = logItem.Domain logMap["queryType"] = logItem.QueryType logMap["result"] = logItem.Result logMap["responseTime"] = logItem.ResponseTime logMap["dnsServer"] = logItem.DNSServer logMap["answers"] = logItem.Answers // 查询域名信息 if domainInfo := s.domainInfoManager.GetDomainInfo(logItem.Domain); domainInfo != nil { logMap["domainInfo"] = domainInfo } // 查询威胁信息 if threatInfo := s.domainInfoManager.GetThreatInfo(logItem.Domain); threatInfo != nil { logMap["threatInfo"] = threatInfo } // 查询跟踪器信息 if trackerInfo := s.domainInfoManager.GetTrackerInfo(logItem.Domain); trackerInfo != nil { logMap["trackerInfo"] = trackerInfo } enrichedLogs[i] = logMap } return enrichedLogs } // enrichDomainInfoWithDetails 为域名查询结果添加详细信息 func (s *Server) enrichDomainInfoWithDetails(domain string, baseResult map[string]interface{}) map[string]interface{} { // 添加域名信息 if domainInfo := s.domainInfoManager.GetDomainInfo(domain); domainInfo != nil { baseResult["domainInfo"] = domainInfo } // 添加威胁信息 if threatInfo := s.domainInfoManager.GetThreatInfo(domain); threatInfo != nil { baseResult["threatInfo"] = threatInfo baseResult["isThreat"] = true } // 添加跟踪器信息 if trackerInfo := s.domainInfoManager.GetTrackerInfo(domain); trackerInfo != nil { baseResult["trackerInfo"] = trackerInfo baseResult["isTracker"] = true } return baseResult }