Files
2026-07-13 12:31:02 +08:00

45 lines
1.1 KiB
Go

package handlers
import (
"encoding/json"
"service-operation/types"
)
func getStatusString(success bool) string {
if success {
return "up"
}
return "down"
}
func formatResultDetails(result *types.OperationResult) string {
details := map[string]interface{}{
"type": result.Type,
"response_time": result.ResponseTime,
"start_time": result.StartTime,
"end_time": result.EndTime,
}
// Add type-specific details
switch result.Type {
case types.OperationPing:
details["packets_sent"] = result.PacketsSent
details["packets_recv"] = result.PacketsRecv
details["packet_loss"] = result.PacketLoss
details["avg_rtt"] = result.AvgRTT
case types.OperationHTTP:
details["status_code"] = result.HTTPStatusCode
details["method"] = result.HTTPMethod
details["content_length"] = result.ContentLength
case types.OperationTCP:
details["tcp_connected"] = result.TCPConnected
case types.OperationDNS:
details["dns_records"] = result.DNSRecords
details["dns_type"] = result.DNSType
}
jsonData, _ := json.Marshal(details)
return string(jsonData)
}