11package base
22
33import (
4+ "github.com/ucloud/ucloud-sdk-go/private/protocol/http"
45 ppathx "github.com/ucloud/ucloud-sdk-go/private/services/pathx"
56 pudb "github.com/ucloud/ucloud-sdk-go/private/services/udb"
67 puhost "github.com/ucloud/ucloud-sdk-go/private/services/uhost"
@@ -53,11 +54,26 @@ type Client struct {
5354}
5455
5556// NewClient will return a aggregate client
56- func NewClient (config * sdk.Config , credential * auth. Credential ) * Client {
57+ func NewClient (config * sdk.Config , credConfig * CredentialConfig ) * Client {
5758 var handler sdk.RequestHandler = func (c * sdk.Client , req request.Common ) (request.Common , error ) {
5859 err := req .SetProjectId (PickResourceID (req .GetProjectId ()))
5960 return req , err
6061 }
62+ var injectCredHeader sdk.HttpRequestHandler = func (c * sdk.Client , req * http.HttpRequest ) (* http.HttpRequest , error ) {
63+ err := req .SetHeader ("Cookie" , credConfig .Cookie )
64+ if err != nil {
65+ return req , err
66+ }
67+ err = req .SetHeader ("Csrf-Token" , credConfig .CSRFToken )
68+ if err != nil {
69+ return req , err
70+ }
71+ return req , err
72+ }
73+ credential := & auth.Credential {
74+ PublicKey : credConfig .PublicKey ,
75+ PrivateKey : credConfig .PrivateKey ,
76+ }
6177 var (
6278 uaccountClient = * uaccount .NewClient (config , credential )
6379 uhostClient = * uhost .NewClient (config , credential )
@@ -77,20 +93,49 @@ func NewClient(config *sdk.Config, credential *auth.Credential) *Client {
7793 )
7894
7995 uaccountClient .Client .AddRequestHandler (handler )
96+ uaccountClient .Client .AddHttpRequestHandler (injectCredHeader )
97+
8098 uhostClient .Client .AddRequestHandler (handler )
99+ uhostClient .Client .AddHttpRequestHandler (injectCredHeader )
100+
81101 unetClient .Client .AddRequestHandler (handler )
102+ unetClient .Client .AddHttpRequestHandler (injectCredHeader )
103+
82104 vpcClient .Client .AddRequestHandler (handler )
105+ vpcClient .Client .AddHttpRequestHandler (injectCredHeader )
106+
83107 udpnClient .Client .AddRequestHandler (handler )
108+ udpnClient .Client .AddHttpRequestHandler (injectCredHeader )
109+
84110 pathxClient .Client .AddRequestHandler (handler )
111+ pathxClient .Client .AddHttpRequestHandler (injectCredHeader )
112+
85113 udiskClient .Client .AddRequestHandler (handler )
114+ udiskClient .Client .AddHttpRequestHandler (injectCredHeader )
115+
86116 ulbClient .Client .AddRequestHandler (handler )
117+ ulbClient .Client .AddHttpRequestHandler (injectCredHeader )
118+
87119 udbClient .Client .AddRequestHandler (handler )
120+ udbClient .Client .AddHttpRequestHandler (injectCredHeader )
121+
88122 umemClient .Client .AddRequestHandler (handler )
123+ umemClient .Client .AddHttpRequestHandler (injectCredHeader )
124+
89125 uphostClient .Client .AddRequestHandler (handler )
126+ uphostClient .Client .AddHttpRequestHandler (injectCredHeader )
127+
90128 puhostClient .Client .AddRequestHandler (handler )
129+ puhostClient .Client .AddHttpRequestHandler (injectCredHeader )
130+
91131 pudbClient .Client .AddRequestHandler (handler )
132+ pudbClient .Client .AddHttpRequestHandler (injectCredHeader )
133+
92134 pumemClient .Client .AddRequestHandler (handler )
135+ pumemClient .Client .AddHttpRequestHandler (injectCredHeader )
136+
93137 ppathxClient .Client .AddRequestHandler (handler )
138+ ppathxClient .Client .AddHttpRequestHandler (injectCredHeader )
94139
95140 return & Client {
96141 uaccountClient ,
0 commit comments