26 lines
572 B
Go
26 lines
572 B
Go
package service
|
||
|
||
import "github.com/gogf/gf/v2/util/gconv"
|
||
|
||
// parseStoredPayload 解析入库的 request_payload,拆出模型调用 payload 与透传 headers
|
||
// 入库格式:{"payload": <any>, "headers": {"Authorization": "...", "X-User-Info":"..."}}
|
||
func parseStoredPayload(v any) (payload any, headers map[string]string) {
|
||
if v == nil {
|
||
return nil, nil
|
||
}
|
||
m := gconv.Map(v)
|
||
if len(m) == 0 {
|
||
return v, nil
|
||
}
|
||
if h, ok := m["headers"]; ok {
|
||
headers = gconv.MapStrStr(h)
|
||
}
|
||
if p, ok := m["payload"]; ok {
|
||
payload = p
|
||
} else {
|
||
payload = v
|
||
}
|
||
return
|
||
}
|
||
|