21
21
import com .alibaba .nacos .api .remote .RequestCallBack ;
22
22
import com .alibaba .nacos .api .remote .request .Request ;
23
23
import com .alibaba .nacos .api .remote .response .Response ;
24
+ import com .alibaba .nacos .auth .config .AuthConfigs ;
24
25
import com .alibaba .nacos .common .notify .NotifyCenter ;
25
26
import com .alibaba .nacos .common .remote .ConnectionType ;
26
27
import com .alibaba .nacos .common .remote .client .RpcClient ;
27
28
import com .alibaba .nacos .common .remote .client .RpcClientFactory ;
28
29
import com .alibaba .nacos .common .remote .client .RpcClientTlsConfig ;
29
- import com .alibaba .nacos .common .remote .client .ServerListFactory ;
30
30
import com .alibaba .nacos .common .remote .client .RpcClientTlsConfigFactory ;
31
+ import com .alibaba .nacos .common .remote .client .ServerListFactory ;
31
32
import com .alibaba .nacos .common .utils .CollectionUtils ;
33
+ import com .alibaba .nacos .common .utils .StringUtils ;
32
34
import com .alibaba .nacos .core .cluster .Member ;
33
35
import com .alibaba .nacos .core .cluster .MemberChangeListener ;
34
36
import com .alibaba .nacos .core .cluster .MembersChangeEvent ;
35
37
import com .alibaba .nacos .core .cluster .ServerMemberManager ;
36
38
import com .alibaba .nacos .core .utils .Loggers ;
37
39
import com .alibaba .nacos .sys .env .EnvUtil ;
38
- import org .springframework .beans .factory .annotation .Autowired ;
39
40
import org .springframework .stereotype .Service ;
40
41
41
42
import javax .annotation .PostConstruct ;
@@ -60,8 +61,14 @@ public class ClusterRpcClientProxy extends MemberChangeListener {
60
61
61
62
private static final long DEFAULT_REQUEST_TIME_OUT = 3000L ;
62
63
63
- @ Autowired
64
- ServerMemberManager serverMemberManager ;
64
+ final ServerMemberManager serverMemberManager ;
65
+
66
+ final AuthConfigs authConfigs ;
67
+
68
+ public ClusterRpcClientProxy (ServerMemberManager serverMemberManager , AuthConfigs authConfigs ) {
69
+ this .serverMemberManager = serverMemberManager ;
70
+ this .authConfigs = authConfigs ;
71
+ }
65
72
66
73
/**
67
74
* init after constructor.
@@ -184,6 +191,7 @@ public Response sendRequest(Member member, Request request) throws NacosExceptio
184
191
public Response sendRequest (Member member , Request request , long timeoutMills ) throws NacosException {
185
192
RpcClient client = RpcClientFactory .getClient (memberClientKey (member ));
186
193
if (client != null ) {
194
+ injectorServerIdentity (request );
187
195
return client .request (request , timeoutMills );
188
196
} else {
189
197
throw new NacosException (CLIENT_INVALID_PARAM , "No rpc client related to member: " + member );
@@ -201,6 +209,7 @@ public Response sendRequest(Member member, Request request, long timeoutMills) t
201
209
public void asyncRequest (Member member , Request request , RequestCallBack callBack ) throws NacosException {
202
210
RpcClient client = RpcClientFactory .getClient (memberClientKey (member ));
203
211
if (client != null ) {
212
+ injectorServerIdentity (request );
204
213
client .asyncRequest (request , callBack );
205
214
} else {
206
215
throw new NacosException (CLIENT_INVALID_PARAM , "No rpc client related to member: " + member );
@@ -243,4 +252,10 @@ public boolean isRunning(Member member) {
243
252
}
244
253
return client .isRunning ();
245
254
}
255
+
256
+ private void injectorServerIdentity (Request request ) {
257
+ if (StringUtils .isNotBlank (authConfigs .getServerIdentityKey ())) {
258
+ request .putHeader (authConfigs .getServerIdentityKey (), authConfigs .getServerIdentityValue ());
259
+ }
260
+ }
246
261
}
0 commit comments