f
This commit is contained in:
59
internal/infrastructure/external/huibo/curl_helper.go
vendored
Normal file
59
internal/infrastructure/external/huibo/curl_helper.go
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
package huibo
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// generateCurlCommand 从 HTTP 请求生成 curl 命令
|
||||
func generateCurlCommand(req *http.Request) string {
|
||||
var cmd strings.Builder
|
||||
cmd.WriteString("curl -X ")
|
||||
cmd.WriteString(req.Method)
|
||||
cmd.WriteString(" '")
|
||||
cmd.WriteString(req.URL.String())
|
||||
cmd.WriteString("'")
|
||||
|
||||
// 添加请求头
|
||||
for key, values := range req.Header {
|
||||
for _, value := range values {
|
||||
cmd.WriteString(" \\\n -H '")
|
||||
cmd.WriteString(key)
|
||||
cmd.WriteString(": ")
|
||||
cmd.WriteString(value)
|
||||
cmd.WriteString("'")
|
||||
}
|
||||
}
|
||||
|
||||
return cmd.String()
|
||||
}
|
||||
|
||||
// generateCurlCommandWithBody 生成包含请求体的 curl 命令
|
||||
func generateCurlCommandWithBody(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(value)
|
||||
cmd.WriteString("'")
|
||||
}
|
||||
|
||||
// 添加请求体
|
||||
if body != "" {
|
||||
cmd.WriteString(" \\\n -d '")
|
||||
cmd.WriteString(body)
|
||||
cmd.WriteString("'")
|
||||
}
|
||||
|
||||
cmd.WriteString(" \\\n --compressed")
|
||||
|
||||
return cmd.String()
|
||||
}
|
||||
Reference in New Issue
Block a user