6767import io .grpc .xds .client .XdsInitializationException ;
6868import io .grpc .xds .client .XdsLogger ;
6969import io .grpc .xds .client .XdsLogger .XdsLogLevel ;
70+ import java .net .URI ;
7071import java .util .ArrayList ;
7172import java .util .Collections ;
7273import java .util .HashMap ;
@@ -109,6 +110,7 @@ final class XdsNameResolver extends NameResolver {
109110 private final XdsLogger logger ;
110111 @ Nullable
111112 private final String targetAuthority ;
113+ private final String target ;
112114 private final String serviceAuthority ;
113115 // Encoded version of the service authority as per
114116 // https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.
@@ -139,12 +141,12 @@ final class XdsNameResolver extends NameResolver {
139141 private ResolveState resolveState ;
140142
141143 XdsNameResolver (
142- String target , @ Nullable String targetAuthority , String name ,
143- @ Nullable String overrideAuthority , ServiceConfigParser serviceConfigParser ,
144+ URI targetUri , String name , @ Nullable String overrideAuthority ,
145+ ServiceConfigParser serviceConfigParser ,
144146 SynchronizationContext syncContext , ScheduledExecutorService scheduler ,
145147 @ Nullable Map <String , ?> bootstrapOverride ,
146148 MetricRecorder metricRecorder , Args nameResolverArgs ) {
147- this (target , targetAuthority , name , overrideAuthority , serviceConfigParser ,
149+ this (targetUri , targetUri . getAuthority () , name , overrideAuthority , serviceConfigParser ,
148150 syncContext , scheduler ,
149151 bootstrapOverride == null
150152 ? SharedXdsClientPoolProvider .getDefaultProvider ()
@@ -155,13 +157,14 @@ final class XdsNameResolver extends NameResolver {
155157
156158 @ VisibleForTesting
157159 XdsNameResolver (
158- String target , @ Nullable String targetAuthority , String name ,
160+ URI targetUri , @ Nullable String targetAuthority , String name ,
159161 @ Nullable String overrideAuthority , ServiceConfigParser serviceConfigParser ,
160162 SynchronizationContext syncContext , ScheduledExecutorService scheduler ,
161163 XdsClientPoolFactory xdsClientPoolFactory , ThreadSafeRandom random ,
162164 FilterRegistry filterRegistry , @ Nullable Map <String , ?> bootstrapOverride ,
163165 MetricRecorder metricRecorder , Args nameResolverArgs ) {
164166 this .targetAuthority = targetAuthority ;
167+ target = targetUri .toString ();
165168
166169 // The name might have multiple slashes so encode it before verifying.
167170 serviceAuthority = checkNotNull (name , "name" );
@@ -733,7 +736,7 @@ private void updateActiveFilters(@Nullable List<NamedFilterConfig> filterConfigs
733736 Filter .Provider provider = filterRegistry .get (typeUrl );
734737 checkNotNull (provider , "provider %s" , typeUrl );
735738 Filter filter = activeFilters .computeIfAbsent (
736- filterKey , k -> provider .newInstance (namedFilter .name , null ));
739+ filterKey , k -> provider .newInstance (namedFilter .name ));
737740 checkNotNull (filter , "filter %s" , filterKey );
738741 filtersToShutdown .remove (filterKey );
739742 }
@@ -875,7 +878,6 @@ private ClientInterceptor createFilters(
875878 }
876879
877880 ImmutableList .Builder <ClientInterceptor > filterInterceptors = ImmutableList .builder ();
878- ClientInterceptor extProcInterceptor = null ;
879881 for (NamedFilterConfig namedFilter : filterConfigs ) {
880882 String name = namedFilter .name ;
881883 FilterConfig config = namedFilter .filterConfig ;
@@ -888,18 +890,10 @@ private ClientInterceptor createFilters(
888890 filter .buildClientInterceptor (config , overrideConfig , scheduler );
889891
890892 if (interceptor != null ) {
891- if (config .typeUrl ().equals (ExternalProcessorFilter .TYPE_URL )) {
892- extProcInterceptor = interceptor ;
893- } else {
894- filterInterceptors .add (interceptor );
895- }
893+ filterInterceptors .add (interceptor );
896894 }
897895 }
898896
899- if (extProcInterceptor != null ) {
900- filterInterceptors .add (extProcInterceptor );
901- }
902-
903897 // Combine interceptors produced by different filters into a single one that executes
904898 // them sequentially. The order is preserved.
905899 return combineInterceptors (filterInterceptors .build ());
0 commit comments