• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

grpc / grpc-java / #20337

26 Jun 2026 11:37AM UTC coverage: 89.06% (+0.2%) from 88.876%
#20337

push

github

web-flow
Ext_proc filter and client interceptor (#12792)

Implements ext_proc filter from [grfc A93](https://github.com/grpc/proposal/pull/484)  (internal [design doc](http://go/ext-proc-design-java)).

37585 of 42202 relevant lines covered (89.06%)

0.89 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

90.91
/../xds/src/main/java/io/grpc/xds/RouterFilter.java
1
/*
2
 * Copyright 2021 The gRPC Authors
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 *
8
 *     http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
15
 */
16

17
package io.grpc.xds;
18

19
import com.google.protobuf.Message;
20
import io.grpc.xds.Filter.FilterConfigParseContext;
21
import io.grpc.xds.Filter.FilterContext;
22

23
/**
24
 * Router filter implementation. Currently this filter does not parse any field in the config.
25
 */
26
final class RouterFilter implements Filter {
27
  private static final RouterFilter INSTANCE = new RouterFilter();
1✔
28

29
  static final String TYPE_URL =
30
      "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router";
31

32
  static final FilterConfig ROUTER_CONFIG = new FilterConfig() {
1✔
33
    @Override
34
    public String typeUrl() {
35
      return TYPE_URL;
1✔
36
    }
37

38
    @Override
39
    public String toString() {
40
      return "ROUTER_CONFIG";
1✔
41
    }
42
  };
43

44
  static final class Provider implements Filter.Provider {
1✔
45
    @Override
46
    public String[] typeUrls() {
47
      return new String[]{TYPE_URL};
1✔
48
    }
49

50
    @Override
51
    public boolean isClientFilter() {
52
      return true;
1✔
53
    }
54

55
    @Override
56
    public boolean isServerFilter() {
57
      return true;
1✔
58
    }
59

60
    @Override
61
    public RouterFilter newInstance(FilterContext context) {
62
      return INSTANCE;
1✔
63
    }
64

65
    @Override
66
    public ConfigOrError<? extends FilterConfig> parseFilterConfig(
67
        Message rawProtoMessage, FilterConfigParseContext context) {
68
      return ConfigOrError.fromConfig(ROUTER_CONFIG);
1✔
69
    }
70

71
    @Override
72
    public ConfigOrError<? extends FilterConfig> parseFilterConfigOverride(
73
        Message rawProtoMessage, FilterConfigParseContext context) {
74
      return ConfigOrError.fromError("Router Filter should not have override config");
×
75
    }
76
  }
77

78
  private RouterFilter() {}
79
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc