6
0

feat(sdk): 添加RefererHeader并扩展Client功能

- 在requests包中添加RefererHeader结构体
- 在Client结构中添加SetRefererHeader和GetRefererHeader方法
- 修改msdk客户端初始化时设置RefererHeader
- 在msdk客户端方法中添加RefererHeader到请求头
This commit is contained in:
余 欣怀 2025-07-10 18:05:44 +08:00
parent 6a7beb5497
commit f902dccb54
3 changed files with 35 additions and 1 deletions

View File

@ -46,6 +46,22 @@ type Client struct {
httpProxy string httpProxy string
httpsProxy string httpsProxy string
noProxy string noProxy string
header *requests.RefererHeader
}
func (c *Client) SetRefererHeader(header *requests.RefererHeader) {
c.header = header
}
func (c *Client) GetRefererHeader() map[string]string {
if c.header == nil {
return nil
}
return map[string]string{
"Referer": c.header.Referer,
"Traceparent": c.header.TraceId,
}
} }
func (client *Client) GetNoProxy() string { func (client *Client) GetNoProxy() string {

View File

@ -56,6 +56,11 @@ type Host struct {
Func func(string) string Func func(string) string
} }
type RefererHeader struct {
Referer string
TraceId string
}
var debug utils.Debug var debug utils.Debug
func init() { func init() {
@ -95,6 +100,7 @@ type AcsRequest interface {
GetBodyReader() io.Reader GetBodyReader() io.Reader
AddHeaderParam(key, value string) AddHeaderParam(key, value string)
AddHeaders(headers map[string]string)
addQueryParam(key, value string) addQueryParam(key, value string)
addFormParam(key, value string) addFormParam(key, value string)
addJsonParam(string, any) addJsonParam(string, any)
@ -226,6 +232,12 @@ func (request *baseRequest) AddHeaderParam(key, val string) {
request.Headers[key] = val request.Headers[key] = val
} }
func (request *baseRequest) AddHeaders(headers map[string]string) {
for key, val := range headers {
request.Headers[key] = val
}
}
func (request *baseRequest) addQueryParam(key, val string) { func (request *baseRequest) addQueryParam(key, val string) {
request.QueryParams[key] = val request.QueryParams[key] = val
} }

View File

@ -16,8 +16,10 @@ type Client struct {
sdk.Client sdk.Client
} }
func NewClient() (client *Client, err error) { func NewClient(header ...*requests.RefererHeader) (client *Client, err error) {
header = append(header, nil)
client = &Client{} client = &Client{}
client.SetRefererHeader(header[0])
err = client.Init() err = client.Init()
return return
} }
@ -30,6 +32,7 @@ func (c *Client) GetIdfa(req *GetIdfaReq) (resp *GetIdfaResp, err error) {
if req.Imei == "" && req.Idfa != "" { if req.Imei == "" && req.Idfa != "" {
req.Imei = req.Idfa req.Imei = req.Idfa
} }
req.AddHeaders(c.GetRefererHeader())
err = c.DoAction(req, resp) err = c.DoAction(req, resp)
return return
} }
@ -39,6 +42,7 @@ func (c *Client) GetUserAttr(req *GetUserAttrReq) (resp *GetUserAttrResp, err er
resp = &GetUserAttrResp{ resp = &GetUserAttrResp{
BaseResponse: &responses.BaseResponse{}, BaseResponse: &responses.BaseResponse{},
} }
req.AddHeaders(c.GetRefererHeader())
err = c.DoAction(req, resp) err = c.DoAction(req, resp)
return return
} }
@ -48,6 +52,7 @@ func (c *Client) GetImei(req *GetImeiReq) (resp *GetImeiResp, err error) {
resp = &GetImeiResp{ resp = &GetImeiResp{
BaseResponse: &responses.BaseResponse{}, BaseResponse: &responses.BaseResponse{},
} }
req.AddHeaders(c.GetRefererHeader())
err = c.DoAction(req, resp) err = c.DoAction(req, resp)
return return
} }
@ -56,6 +61,7 @@ func (c *Client) SetImei(req *SetImeiReq) (resp *SetImeiResp, err error) {
resp = &SetImeiResp{ resp = &SetImeiResp{
BaseResponse: &responses.BaseResponse{}, BaseResponse: &responses.BaseResponse{},
} }
req.AddHeaders(c.GetRefererHeader())
err = c.DoAction(req, resp) err = c.DoAction(req, resp)
return return
} }