package rongxing 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(key) cmd.WriteString(": ") cmd.WriteString(escapeSingleQuotes(value)) cmd.WriteString("'") } if body != "" { cmd.WriteString(" \\\n -d '") cmd.WriteString(escapeSingleQuotes(body)) cmd.WriteString("'") } return cmd.String() } func escapeSingleQuotes(s string) string { return strings.ReplaceAll(s, "'", `'\''`) }