f
This commit is contained in:
33
internal/infrastructure/external/yuyuecha/curl_helper.go
vendored
Normal file
33
internal/infrastructure/external/yuyuecha/curl_helper.go
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
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, "'", `'\''`)
|
||||
}
|
||||
Reference in New Issue
Block a user