Skip to content

Commit 4446347

Browse files
committed
ext_proc server interceptor.
1 parent 7783760 commit 4446347

5 files changed

Lines changed: 1721 additions & 2 deletions

File tree

xds/src/main/java/io/grpc/xds/ExternalProcessorFilter.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
import io.grpc.MethodDescriptor;
6565
import io.grpc.MetricInstrumentRegistry;
6666
import io.grpc.MetricRecorder;
67+
import io.grpc.ServerInterceptor;
6768
import io.grpc.Status;
6869
import io.grpc.StatusRuntimeException;
6970
import io.grpc.internal.DelayedClientCall;
@@ -223,6 +224,11 @@ public boolean isClientFilter() {
223224
return true;
224225
}
225226

227+
@Override
228+
public boolean isServerFilter() {
229+
return true;
230+
}
231+
226232
@Override
227233
public ExternalProcessorFilter newInstance(FilterContext context) {
228234
return new ExternalProcessorFilter(context);
@@ -276,6 +282,20 @@ public ClientInterceptor buildClientInterceptor(FilterConfig filterConfig,
276282
extProcFilterConfig, cachedChannelManager, scheduler, context);
277283
}
278284

285+
@Nullable
286+
@Override
287+
public ServerInterceptor buildServerInterceptor(FilterConfig filterConfig,
288+
@Nullable FilterConfig overrideConfig) {
289+
ExternalProcessorFilterConfig extProcFilterConfig =
290+
(ExternalProcessorFilterConfig) filterConfig;
291+
if (overrideConfig != null) {
292+
extProcFilterConfig = mergeConfigs(extProcFilterConfig,
293+
(ExternalProcessorFilterOverrideConfig) overrideConfig);
294+
}
295+
return new ExternalProcessorServerInterceptor(
296+
extProcFilterConfig, cachedChannelManager, context);
297+
}
298+
279299
private static ExternalProcessorFilterConfig mergeConfigs(
280300
ExternalProcessorFilterConfig extProcFilterConfig,
281301
ExternalProcessorFilterOverrideConfig extProcFilterConfigOverride) {

0 commit comments

Comments
 (0)