1717
1818package org .apache .servicecomb .service .center .client ;
1919
20+ import java .net .URI ;
2021import java .util .HashMap ;
2122import java .util .Map ;
2223import java .util .concurrent .ExecutorService ;
2324import java .util .concurrent .Executors ;
2425import java .util .concurrent .atomic .AtomicBoolean ;
2526
27+ import org .apache .servicecomb .foundation .auth .SignRequest ;
2628import org .apache .servicecomb .http .client .auth .RequestAuthHeaderProvider ;
2729import org .apache .servicecomb .http .client .common .HttpConfiguration .SSLProperties ;
2830import org .apache .servicecomb .http .client .common .WebSocketListener ;
@@ -107,7 +109,7 @@ private void startWatch() {
107109 Map <String , String > headers = new HashMap <>();
108110 headers .put ("x-domain-name" , this .tenantName );
109111 headers .putAll (this .extraGlobalHeaders );
110- headers .putAll (this .requestAuthHeaderProvider .loadAuthHeader (null ));
112+ headers .putAll (this .requestAuthHeaderProvider .loadAuthHeader (createSignRequest ( address ) ));
111113 currentServerUri = convertAddress (address );
112114 LOGGER .info ("start watch to address {}" , currentServerUri );
113115 webSocketTransport = new WebSocketTransport (currentServerUri , sslProperties ,
@@ -121,6 +123,17 @@ private void startWatch() {
121123 });
122124 }
123125
126+ private SignRequest createSignRequest (String url ) {
127+ try {
128+ URI uri = URI .create (url );
129+ SignRequest signRequest = new SignRequest ();
130+ signRequest .setEndpoint (uri );
131+ return signRequest ;
132+ } catch (Exception e ) {
133+ return null ;
134+ }
135+ }
136+
124137 private String convertAddress (String address ) {
125138 String url = String .format (WATCH , project , serviceId );
126139 if (address .startsWith (HTTP )) {
0 commit comments