|
64 | 64 | import io.grpc.MethodDescriptor; |
65 | 65 | import io.grpc.MetricInstrumentRegistry; |
66 | 66 | import io.grpc.MetricRecorder; |
| 67 | +import io.grpc.ServerInterceptor; |
67 | 68 | import io.grpc.Status; |
68 | 69 | import io.grpc.StatusRuntimeException; |
69 | 70 | import io.grpc.internal.DelayedClientCall; |
@@ -223,6 +224,11 @@ public boolean isClientFilter() { |
223 | 224 | return true; |
224 | 225 | } |
225 | 226 |
|
| 227 | + @Override |
| 228 | + public boolean isServerFilter() { |
| 229 | + return true; |
| 230 | + } |
| 231 | + |
226 | 232 | @Override |
227 | 233 | public ExternalProcessorFilter newInstance(FilterContext context) { |
228 | 234 | return new ExternalProcessorFilter(context); |
@@ -276,6 +282,20 @@ public ClientInterceptor buildClientInterceptor(FilterConfig filterConfig, |
276 | 282 | extProcFilterConfig, cachedChannelManager, scheduler, context); |
277 | 283 | } |
278 | 284 |
|
| 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 | + |
279 | 299 | private static ExternalProcessorFilterConfig mergeConfigs( |
280 | 300 | ExternalProcessorFilterConfig extProcFilterConfig, |
281 | 301 | ExternalProcessorFilterOverrideConfig extProcFilterConfigOverride) { |
|
0 commit comments