package yuyuecha import "strings" // generateCurlCommand 生成可复现的 curl 命令,便于数据源排查 func generateCurlCommand(method, url string, headers map[string]string, body string) string { var cmd strings.Builder cmd.WriteString("curl -X ") cmd.WriteString(method) cmd.WriteString(" '") cmd.WriteString(url) cmd.WriteString("'") for key, value := range headers { cmd.WriteString(" \\\n -H '") cmd.WriteString(escapeShellSingleQuote(key)) cmd.WriteString(": ") cmd.WriteString(escapeShellSingleQuote(value)) cmd.WriteString("'") } if body != "" { cmd.WriteString(" \\\n -d '") cmd.WriteString(escapeShellSingleQuote(body)) cmd.WriteString("'") } return cmd.String() } func escapeShellSingleQuote(s string) string { return strings.ReplaceAll(s, "'", `'\''`) }