[config] Move proxy mapper into core configuration (#30842)

* [config] Move proxy mapper into core configuration

* fix

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
pull/30905/head^2
Craig Tiller 2 years ago committed by GitHub
parent 346c103a1c
commit a27073f7a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 36
      BUILD
  2. 4
      CMakeLists.txt
  3. 4
      Makefile
  4. 12
      build_autogenerated.yaml
  5. 3
      config.m4
  6. 3
      config.w32
  7. 8
      gRPC-C++.podspec
  8. 10
      gRPC-Core.podspec
  9. 6
      grpc.gemspec
  10. 4
      grpc.gyp
  11. 6
      package.xml
  12. 6
      src/core/ext/filters/client_channel/client_channel.cc
  13. 11
      src/core/ext/filters/client_channel/client_channel_plugin.cc
  14. 6
      src/core/ext/filters/client_channel/http_proxy.cc
  15. 5
      src/core/ext/filters/client_channel/http_proxy.h
  16. 56
      src/core/ext/filters/client_channel/proxy_mapper_registry.h
  17. 6
      src/core/ext/filters/client_channel/subchannel.cc
  18. 1
      src/core/lib/config/core_configuration.cc
  19. 11
      src/core/lib/config/core_configuration.h
  20. 6
      src/core/lib/handshaker/proxy_mapper.h
  21. 50
      src/core/lib/handshaker/proxy_mapper_registry.cc
  22. 75
      src/core/lib/handshaker/proxy_mapper_registry.h
  23. 5
      src/core/plugin_registry/grpc_plugin_registry.cc
  24. 2
      src/python/grpcio/grpc_core_dependencies.py
  25. 6
      tools/doxygen/Doxyfile.c++.internal
  26. 6
      tools/doxygen/Doxyfile.core.internal

36
BUILD

@ -1268,6 +1268,7 @@ grpc_cc_library(
"grpc_resolver",
"handshaker_registry",
"lb_policy_registry",
"proxy_mapper_registry",
"service_config_parser",
],
)
@ -3706,6 +3707,36 @@ grpc_cc_library(
],
)
grpc_cc_library(
name = "proxy_mapper",
hdrs = ["src/core/lib/handshaker/proxy_mapper.h"],
external_deps = [
"absl/strings",
"absl/types:optional",
],
deps = [
"channel_args",
"gpr_platform",
"resolved_address",
],
)
grpc_cc_library(
name = "proxy_mapper_registry",
srcs = ["src/core/lib/handshaker/proxy_mapper_registry.cc"],
hdrs = ["src/core/lib/handshaker/proxy_mapper_registry.h"],
external_deps = [
"absl/strings",
"absl/types:optional",
],
deps = [
"channel_args",
"gpr_platform",
"proxy_mapper",
"resolved_address",
],
)
grpc_cc_library(
name = "grpc_client_channel",
srcs = [
@ -3724,7 +3755,6 @@ grpc_cc_library(
"src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc",
"src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc",
"src/core/ext/filters/client_channel/local_subchannel_pool.cc",
"src/core/ext/filters/client_channel/proxy_mapper_registry.cc",
"src/core/ext/filters/client_channel/resolver_result_parsing.cc",
"src/core/ext/filters/client_channel/retry_filter.cc",
"src/core/ext/filters/client_channel/retry_service_config.cc",
@ -3749,8 +3779,6 @@ grpc_cc_library(
"src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h",
"src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h",
"src/core/ext/filters/client_channel/local_subchannel_pool.h",
"src/core/ext/filters/client_channel/proxy_mapper.h",
"src/core/ext/filters/client_channel/proxy_mapper_registry.h",
"src/core/ext/filters/client_channel/resolver_result_parsing.h",
"src/core/ext/filters/client_channel/retry_filter.h",
"src/core/ext/filters/client_channel/retry_service_config.h",
@ -3810,6 +3838,8 @@ grpc_cc_library(
"orphanable",
"pollset_set",
"protobuf_duration_upb",
"proxy_mapper",
"proxy_mapper_registry",
"ref_counted",
"ref_counted_ptr",
"resolved_address",

4
CMakeLists.txt generated

@ -1712,7 +1712,6 @@ add_library(grpc
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc
src/core/ext/filters/client_channel/local_subchannel_pool.cc
src/core/ext/filters/client_channel/proxy_mapper_registry.cc
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
@ -2132,6 +2131,7 @@ add_library(grpc
src/core/lib/gprpp/time.cc
src/core/lib/gprpp/time_averaged_stats.cc
src/core/lib/gprpp/work_serializer.cc
src/core/lib/handshaker/proxy_mapper_registry.cc
src/core/lib/http/format_request.cc
src/core/lib/http/httpcli.cc
src/core/lib/http/httpcli_security_connector.cc
@ -2650,7 +2650,6 @@ add_library(grpc_unsecure
src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
src/core/ext/filters/client_channel/local_subchannel_pool.cc
src/core/ext/filters/client_channel/proxy_mapper_registry.cc
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
@ -2771,6 +2770,7 @@ add_library(grpc_unsecure
src/core/lib/gprpp/time.cc
src/core/lib/gprpp/time_averaged_stats.cc
src/core/lib/gprpp/work_serializer.cc
src/core/lib/handshaker/proxy_mapper_registry.cc
src/core/lib/http/format_request.cc
src/core/lib/http/httpcli.cc
src/core/lib/http/parser.cc

4
Makefile generated

@ -1001,7 +1001,6 @@ LIBGRPC_SRC = \
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc \
src/core/ext/filters/client_channel/local_subchannel_pool.cc \
src/core/ext/filters/client_channel/proxy_mapper_registry.cc \
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc \
src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \
@ -1421,6 +1420,7 @@ LIBGRPC_SRC = \
src/core/lib/gprpp/time.cc \
src/core/lib/gprpp/time_averaged_stats.cc \
src/core/lib/gprpp/work_serializer.cc \
src/core/lib/handshaker/proxy_mapper_registry.cc \
src/core/lib/http/format_request.cc \
src/core/lib/http/httpcli.cc \
src/core/lib/http/httpcli_security_connector.cc \
@ -1803,7 +1803,6 @@ LIBGRPC_UNSECURE_SRC = \
src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \
src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc \
src/core/ext/filters/client_channel/local_subchannel_pool.cc \
src/core/ext/filters/client_channel/proxy_mapper_registry.cc \
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc \
src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \
@ -1924,6 +1923,7 @@ LIBGRPC_UNSECURE_SRC = \
src/core/lib/gprpp/time.cc \
src/core/lib/gprpp/time_averaged_stats.cc \
src/core/lib/gprpp/work_serializer.cc \
src/core/lib/handshaker/proxy_mapper_registry.cc \
src/core/lib/http/format_request.cc \
src/core/lib/http/httpcli.cc \
src/core/lib/http/parser.cc \

@ -379,8 +379,6 @@ libs:
- src/core/ext/filters/client_channel/lb_policy/xds/xds.h
- src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h
- src/core/ext/filters/client_channel/local_subchannel_pool.h
- src/core/ext/filters/client_channel/proxy_mapper.h
- src/core/ext/filters/client_channel/proxy_mapper_registry.h
- src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h
- src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h
- src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h
@ -816,6 +814,8 @@ libs:
- src/core/lib/gprpp/time_averaged_stats.h
- src/core/lib/gprpp/unique_type_name.h
- src/core/lib/gprpp/work_serializer.h
- src/core/lib/handshaker/proxy_mapper.h
- src/core/lib/handshaker/proxy_mapper_registry.h
- src/core/lib/http/format_request.h
- src/core/lib/http/httpcli.h
- src/core/lib/http/httpcli_ssl_credentials.h
@ -1086,7 +1086,6 @@ libs:
- src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc
- src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc
- src/core/ext/filters/client_channel/local_subchannel_pool.cc
- src/core/ext/filters/client_channel/proxy_mapper_registry.cc
- src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
- src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
- src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
@ -1506,6 +1505,7 @@ libs:
- src/core/lib/gprpp/time.cc
- src/core/lib/gprpp/time_averaged_stats.cc
- src/core/lib/gprpp/work_serializer.cc
- src/core/lib/handshaker/proxy_mapper_registry.cc
- src/core/lib/http/format_request.cc
- src/core/lib/http/httpcli.cc
- src/core/lib/http/httpcli_security_connector.cc
@ -1907,8 +1907,6 @@ libs:
- src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h
- src/core/ext/filters/client_channel/lb_policy/subchannel_list.h
- src/core/ext/filters/client_channel/local_subchannel_pool.h
- src/core/ext/filters/client_channel/proxy_mapper.h
- src/core/ext/filters/client_channel/proxy_mapper_registry.h
- src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h
- src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h
- src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h
@ -2043,6 +2041,8 @@ libs:
- src/core/lib/gprpp/time_averaged_stats.h
- src/core/lib/gprpp/unique_type_name.h
- src/core/lib/gprpp/work_serializer.h
- src/core/lib/handshaker/proxy_mapper.h
- src/core/lib/handshaker/proxy_mapper_registry.h
- src/core/lib/http/format_request.h
- src/core/lib/http/httpcli.h
- src/core/lib/http/parser.h
@ -2253,7 +2253,6 @@ libs:
- src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
- src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
- src/core/ext/filters/client_channel/local_subchannel_pool.cc
- src/core/ext/filters/client_channel/proxy_mapper_registry.cc
- src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
- src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
- src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
@ -2374,6 +2373,7 @@ libs:
- src/core/lib/gprpp/time.cc
- src/core/lib/gprpp/time_averaged_stats.cc
- src/core/lib/gprpp/work_serializer.cc
- src/core/lib/handshaker/proxy_mapper_registry.cc
- src/core/lib/http/format_request.cc
- src/core/lib/http/httpcli.cc
- src/core/lib/http/parser.cc

3
config.m4 generated

@ -75,7 +75,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc \
src/core/ext/filters/client_channel/local_subchannel_pool.cc \
src/core/ext/filters/client_channel/proxy_mapper_registry.cc \
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc \
src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \
@ -536,6 +535,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/gprpp/time_averaged_stats.cc \
src/core/lib/gprpp/time_util.cc \
src/core/lib/gprpp/work_serializer.cc \
src/core/lib/handshaker/proxy_mapper_registry.cc \
src/core/lib/http/format_request.cc \
src/core/lib/http/httpcli.cc \
src/core/lib/http/httpcli_security_connector.cc \
@ -1339,6 +1339,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/experiments)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/handshaker)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/http)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/json)

3
config.w32 generated

@ -41,7 +41,6 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\filters\\client_channel\\lb_policy\\xds\\xds_cluster_manager.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\xds\\xds_cluster_resolver.cc " +
"src\\core\\ext\\filters\\client_channel\\local_subchannel_pool.cc " +
"src\\core\\ext\\filters\\client_channel\\proxy_mapper_registry.cc " +
"src\\core\\ext\\filters\\client_channel\\resolver\\binder\\binder_resolver.cc " +
"src\\core\\ext\\filters\\client_channel\\resolver\\dns\\c_ares\\dns_resolver_ares.cc " +
"src\\core\\ext\\filters\\client_channel\\resolver\\dns\\c_ares\\grpc_ares_ev_driver_posix.cc " +
@ -502,6 +501,7 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\gprpp\\time_averaged_stats.cc " +
"src\\core\\lib\\gprpp\\time_util.cc " +
"src\\core\\lib\\gprpp\\work_serializer.cc " +
"src\\core\\lib\\handshaker\\proxy_mapper_registry.cc " +
"src\\core\\lib\\http\\format_request.cc " +
"src\\core\\lib\\http\\httpcli.cc " +
"src\\core\\lib\\http\\httpcli_security_connector.cc " +
@ -1461,6 +1461,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\experiments");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\handshaker");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\http");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\json");

8
gRPC-C++.podspec generated

@ -249,8 +249,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/client_channel/lb_policy/xds/xds.h',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h',
'src/core/ext/filters/client_channel/local_subchannel_pool.h',
'src/core/ext/filters/client_channel/proxy_mapper.h',
'src/core/ext/filters/client_channel/proxy_mapper_registry.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h',
'src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h',
@ -747,6 +745,8 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/time_util.h',
'src/core/lib/gprpp/unique_type_name.h',
'src/core/lib/gprpp/work_serializer.h',
'src/core/lib/handshaker/proxy_mapper.h',
'src/core/lib/handshaker/proxy_mapper_registry.h',
'src/core/lib/http/format_request.h',
'src/core/lib/http/httpcli.h',
'src/core/lib/http/httpcli_ssl_credentials.h',
@ -1128,8 +1128,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/client_channel/lb_policy/xds/xds.h',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h',
'src/core/ext/filters/client_channel/local_subchannel_pool.h',
'src/core/ext/filters/client_channel/proxy_mapper.h',
'src/core/ext/filters/client_channel/proxy_mapper_registry.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h',
'src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h',
@ -1608,6 +1606,8 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/time_util.h',
'src/core/lib/gprpp/unique_type_name.h',
'src/core/lib/gprpp/work_serializer.h',
'src/core/lib/handshaker/proxy_mapper.h',
'src/core/lib/handshaker/proxy_mapper_registry.h',
'src/core/lib/http/format_request.h',
'src/core/lib/http/httpcli.h',
'src/core/lib/http/httpcli_ssl_credentials.h',

10
gRPC-Core.podspec generated

@ -260,9 +260,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc',
'src/core/ext/filters/client_channel/local_subchannel_pool.cc',
'src/core/ext/filters/client_channel/local_subchannel_pool.h',
'src/core/ext/filters/client_channel/proxy_mapper.h',
'src/core/ext/filters/client_channel/proxy_mapper_registry.cc',
'src/core/ext/filters/client_channel/proxy_mapper_registry.h',
'src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h',
@ -1181,6 +1178,9 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/unique_type_name.h',
'src/core/lib/gprpp/work_serializer.cc',
'src/core/lib/gprpp/work_serializer.h',
'src/core/lib/handshaker/proxy_mapper.h',
'src/core/lib/handshaker/proxy_mapper_registry.cc',
'src/core/lib/handshaker/proxy_mapper_registry.h',
'src/core/lib/http/format_request.cc',
'src/core/lib/http/format_request.h',
'src/core/lib/http/httpcli.cc',
@ -1775,8 +1775,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/client_channel/lb_policy/xds/xds.h',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h',
'src/core/ext/filters/client_channel/local_subchannel_pool.h',
'src/core/ext/filters/client_channel/proxy_mapper.h',
'src/core/ext/filters/client_channel/proxy_mapper_registry.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h',
'src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h',
@ -2235,6 +2233,8 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/time_util.h',
'src/core/lib/gprpp/unique_type_name.h',
'src/core/lib/gprpp/work_serializer.h',
'src/core/lib/handshaker/proxy_mapper.h',
'src/core/lib/handshaker/proxy_mapper_registry.h',
'src/core/lib/http/format_request.h',
'src/core/lib/http/httpcli.h',
'src/core/lib/http/httpcli_ssl_credentials.h',

6
grpc.gemspec generated

@ -173,9 +173,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc )
s.files += %w( src/core/ext/filters/client_channel/local_subchannel_pool.cc )
s.files += %w( src/core/ext/filters/client_channel/local_subchannel_pool.h )
s.files += %w( src/core/ext/filters/client_channel/proxy_mapper.h )
s.files += %w( src/core/ext/filters/client_channel/proxy_mapper_registry.cc )
s.files += %w( src/core/ext/filters/client_channel/proxy_mapper_registry.h )
s.files += %w( src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc )
s.files += %w( src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc )
s.files += %w( src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h )
@ -1094,6 +1091,9 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/gprpp/unique_type_name.h )
s.files += %w( src/core/lib/gprpp/work_serializer.cc )
s.files += %w( src/core/lib/gprpp/work_serializer.h )
s.files += %w( src/core/lib/handshaker/proxy_mapper.h )
s.files += %w( src/core/lib/handshaker/proxy_mapper_registry.cc )
s.files += %w( src/core/lib/handshaker/proxy_mapper_registry.h )
s.files += %w( src/core/lib/http/format_request.cc )
s.files += %w( src/core/lib/http/format_request.h )
s.files += %w( src/core/lib/http/httpcli.cc )

4
grpc.gyp generated

@ -406,7 +406,6 @@
'src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc',
'src/core/ext/filters/client_channel/local_subchannel_pool.cc',
'src/core/ext/filters/client_channel/proxy_mapper_registry.cc',
'src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc',
@ -826,6 +825,7 @@
'src/core/lib/gprpp/time.cc',
'src/core/lib/gprpp/time_averaged_stats.cc',
'src/core/lib/gprpp/work_serializer.cc',
'src/core/lib/handshaker/proxy_mapper_registry.cc',
'src/core/lib/http/format_request.cc',
'src/core/lib/http/httpcli.cc',
'src/core/lib/http/httpcli_security_connector.cc',
@ -1154,7 +1154,6 @@
'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc',
'src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc',
'src/core/ext/filters/client_channel/local_subchannel_pool.cc',
'src/core/ext/filters/client_channel/proxy_mapper_registry.cc',
'src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc',
@ -1275,6 +1274,7 @@
'src/core/lib/gprpp/time.cc',
'src/core/lib/gprpp/time_averaged_stats.cc',
'src/core/lib/gprpp/work_serializer.cc',
'src/core/lib/handshaker/proxy_mapper_registry.cc',
'src/core/lib/http/format_request.cc',
'src/core/lib/http/httpcli.cc',
'src/core/lib/http/parser.cc',

6
package.xml generated

@ -155,9 +155,6 @@
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/local_subchannel_pool.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/local_subchannel_pool.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/proxy_mapper.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/proxy_mapper_registry.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/proxy_mapper_registry.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h" role="src" />
@ -1076,6 +1073,9 @@
<file baseinstalldir="/" name="src/core/lib/gprpp/unique_type_name.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/gprpp/work_serializer.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/gprpp/work_serializer.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/handshaker/proxy_mapper.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/handshaker/proxy_mapper_registry.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/handshaker/proxy_mapper_registry.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/http/format_request.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/http/format_request.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/http/httpcli.cc" role="src" />

@ -52,7 +52,6 @@
#include "src/core/ext/filters/client_channel/global_subchannel_pool.h"
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/ext/filters/client_channel/local_subchannel_pool.h"
#include "src/core/ext/filters/client_channel/proxy_mapper_registry.h"
#include "src/core/ext/filters/client_channel/resolver_result_parsing.h"
#include "src/core/ext/filters/client_channel/retry_filter.h"
#include "src/core/ext/filters/client_channel/subchannel.h"
@ -68,6 +67,7 @@
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/gprpp/work_serializer.h"
#include "src/core/lib/handshaker/proxy_mapper_registry.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/iomgr/pollset_set.h"
@ -1023,7 +1023,9 @@ ClientChannel::ClientChannel(grpc_channel_element_args* args,
"filter");
return;
}
uri_to_resolve_ = ProxyMapperRegistry::MapName(*server_uri, &channel_args_)
uri_to_resolve_ = CoreConfiguration::Get()
.proxy_mapper_registry()
.MapName(*server_uri, &channel_args_)
.value_or(*server_uri);
// Make sure the URI to resolve is valid, so that we know that
// resolver creation will succeed later.

@ -19,8 +19,6 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/ext/filters/client_channel/http_proxy.h"
#include "src/core/ext/filters/client_channel/proxy_mapper_registry.h"
#include "src/core/ext/filters/client_channel/resolver_result_parsing.h"
#include "src/core/ext/filters/client_channel/retry_service_config.h"
#include "src/core/lib/channel/channel_stack_builder.h"
@ -28,15 +26,6 @@
#include "src/core/lib/surface/channel_init.h"
#include "src/core/lib/surface/channel_stack_type.h"
void grpc_client_channel_init(void) {
grpc_core::ProxyMapperRegistry::Init();
grpc_core::RegisterHttpProxyMapper();
}
void grpc_client_channel_shutdown(void) {
grpc_core::ProxyMapperRegistry::Shutdown();
}
namespace grpc_core {
void BuildClientChannelConfiguration(CoreConfiguration::Builder* builder) {

@ -39,12 +39,12 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/proxy_mapper_registry.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/gpr/env.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gprpp/host_port.h"
#include "src/core/lib/gprpp/memory.h"
#include "src/core/lib/handshaker/proxy_mapper_registry.h"
#include "src/core/lib/iomgr/resolve_address.h"
#include "src/core/lib/slice/b64.h"
#include "src/core/lib/transport/http_connect_handshaker.h"
@ -199,8 +199,8 @@ absl::optional<std::string> HttpProxyMapper::MapName(
return name_to_resolve;
}
void RegisterHttpProxyMapper() {
ProxyMapperRegistry::Register(
void RegisterHttpProxyMapper(CoreConfiguration::Builder* builder) {
builder->proxy_mapper_registry()->Register(
true /* at_start */,
std::unique_ptr<ProxyMapperInterface>(new HttpProxyMapper()));
}

@ -26,8 +26,9 @@
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "src/core/ext/filters/client_channel/proxy_mapper.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/handshaker/proxy_mapper.h"
#include "src/core/lib/iomgr/resolved_address.h"
namespace grpc_core {
@ -44,7 +45,7 @@ class HttpProxyMapper : public ProxyMapperInterface {
}
};
void RegisterHttpProxyMapper();
void RegisterHttpProxyMapper(CoreConfiguration::Builder* builder);
} // namespace grpc_core

@ -1,56 +0,0 @@
/*
*
* Copyright 2017 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_REGISTRY_H
#define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_REGISTRY_H
#include <grpc/support/port_platform.h>
#include <memory>
#include <string>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "src/core/ext/filters/client_channel/proxy_mapper.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/iomgr/resolved_address.h"
namespace grpc_core {
class ProxyMapperRegistry {
public:
static void Init();
static void Shutdown();
/// Registers a new proxy mapper.
/// If \a at_start is true, the new mapper will be at the beginning of
/// the list. Otherwise, it will be added to the end.
static void Register(bool at_start,
std::unique_ptr<ProxyMapperInterface> mapper);
static absl::optional<std::string> MapName(absl::string_view server_uri,
ChannelArgs* args);
static absl::optional<grpc_resolved_address> MapAddress(
const grpc_resolved_address& address, ChannelArgs* args);
};
} // namespace grpc_core
#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_REGISTRY_H */

@ -37,7 +37,6 @@
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/health/health_check_client.h"
#include "src/core/ext/filters/client_channel/proxy_mapper_registry.h"
#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h"
#include "src/core/ext/filters/client_channel/subchannel_stream_client.h"
#include "src/core/lib/address_utils/sockaddr_utils.h"
@ -57,6 +56,7 @@
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/handshaker/proxy_mapper_registry.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/surface/channel_init.h"
@ -642,7 +642,9 @@ Subchannel::Subchannel(SubchannelKey key,
grpc_schedule_on_exec_ctx);
// Check proxy mapper to determine address to connect to and channel
// args to use.
address_for_connect_ = ProxyMapperRegistry::MapAddress(key_.address(), &args_)
address_for_connect_ = CoreConfiguration::Get()
.proxy_mapper_registry()
.MapAddress(key_.address(), &args_)
.value_or(key_.address());
// Initialize channelz.
const bool channelz_enabled = args_.GetBool(GRPC_ARG_ENABLE_CHANNELZ)

@ -45,6 +45,7 @@ CoreConfiguration::CoreConfiguration(Builder* builder)
service_config_parser_(builder->service_config_parser_.Build()),
resolver_registry_(builder->resolver_registry_.Build()),
lb_policy_registry_(builder->lb_policy_registry_.Build()),
proxy_mapper_registry_(builder->proxy_mapper_registry_.Build()),
certificate_provider_registry_(
builder->certificate_provider_registry_.Build()) {}

@ -23,6 +23,7 @@
#include <grpc/support/log.h>
#include "src/core/lib/channel/channel_args_preconditioning.h"
#include "src/core/lib/handshaker/proxy_mapper_registry.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/lib/resolver/resolver_registry.h"
#include "src/core/lib/security/certificate_provider/certificate_provider_registry.h"
@ -70,6 +71,10 @@ class CoreConfiguration {
return &lb_policy_registry_;
}
ProxyMapperRegistry::Builder* proxy_mapper_registry() {
return &proxy_mapper_registry_;
}
CertificateProviderRegistry::Builder* certificate_provider_registry() {
return &certificate_provider_registry_;
}
@ -84,6 +89,7 @@ class CoreConfiguration {
ServiceConfigParser::Builder service_config_parser_;
ResolverRegistry::Builder resolver_registry_;
LoadBalancingPolicyRegistry::Builder lb_policy_registry_;
ProxyMapperRegistry::Builder proxy_mapper_registry_;
CertificateProviderRegistry::Builder certificate_provider_registry_;
Builder();
@ -193,6 +199,10 @@ class CoreConfiguration {
return lb_policy_registry_;
}
const ProxyMapperRegistry& proxy_mapper_registry() const {
return proxy_mapper_registry_;
}
const CertificateProviderRegistry& certificate_provider_registry() const {
return certificate_provider_registry_;
}
@ -222,6 +232,7 @@ class CoreConfiguration {
ServiceConfigParser service_config_parser_;
ResolverRegistry resolver_registry_;
LoadBalancingPolicyRegistry lb_policy_registry_;
ProxyMapperRegistry proxy_mapper_registry_;
CertificateProviderRegistry certificate_provider_registry_;
};

@ -16,8 +16,8 @@
*
*/
#ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_H
#define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_H
#ifndef GRPC_CORE_LIB_HANDSHAKER_PROXY_MAPPER_H
#define GRPC_CORE_LIB_HANDSHAKER_PROXY_MAPPER_H
#include <grpc/support/port_platform.h>
@ -50,4 +50,4 @@ class ProxyMapperInterface {
} // namespace grpc_core
#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_PROXY_MAPPER_H */
#endif /* GRPC_CORE_LIB_HANDSHAKER_PROXY_MAPPER_H */

@ -18,7 +18,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/proxy_mapper_registry.h"
#include "src/core/lib/handshaker/proxy_mapper_registry.h"
#include <algorithm>
#include <memory>
@ -29,46 +29,25 @@
namespace grpc_core {
namespace {
using ProxyMapperList = std::vector<std::unique_ptr<ProxyMapperInterface>>;
ProxyMapperList* g_proxy_mapper_list;
} // namespace
void ProxyMapperRegistry::Init() {
if (g_proxy_mapper_list == nullptr) {
g_proxy_mapper_list = new ProxyMapperList();
}
}
void ProxyMapperRegistry::Shutdown() {
delete g_proxy_mapper_list;
// Clean up in case we re-initialze later.
// TODO(roth): This should ideally live in Init(). However, if we did this
// there, then we would do it AFTER we start registering proxy mappers from
// third-party plugins, so they'd never show up (and would leak memory).
// We probably need some sort of dependency system for plugins to fix
// this.
g_proxy_mapper_list = nullptr;
}
void ProxyMapperRegistry::Register(
void ProxyMapperRegistry::Builder::Register(
bool at_start, std::unique_ptr<ProxyMapperInterface> mapper) {
Init();
if (at_start) {
g_proxy_mapper_list->insert(g_proxy_mapper_list->begin(),
std::move(mapper));
mappers_.insert(mappers_.begin(), std::move(mapper));
} else {
g_proxy_mapper_list->emplace_back(std::move(mapper));
mappers_.emplace_back(std::move(mapper));
}
}
ProxyMapperRegistry ProxyMapperRegistry::Builder::Build() {
ProxyMapperRegistry registry;
registry.mappers_ = std::move(mappers_);
return registry;
}
absl::optional<std::string> ProxyMapperRegistry::MapName(
absl::string_view server_uri, ChannelArgs* args) {
Init();
absl::string_view server_uri, ChannelArgs* args) const {
ChannelArgs args_backup = *args;
for (const auto& mapper : *g_proxy_mapper_list) {
for (const auto& mapper : mappers_) {
*args = args_backup;
auto r = mapper->MapName(server_uri, args);
if (r.has_value()) return r;
@ -78,10 +57,9 @@ absl::optional<std::string> ProxyMapperRegistry::MapName(
}
absl::optional<grpc_resolved_address> ProxyMapperRegistry::MapAddress(
const grpc_resolved_address& address, ChannelArgs* args) {
Init();
const grpc_resolved_address& address, ChannelArgs* args) const {
ChannelArgs args_backup = *args;
for (const auto& mapper : *g_proxy_mapper_list) {
for (const auto& mapper : mappers_) {
*args = args_backup;
auto r = mapper->MapAddress(address, args);
if (r.has_value()) return r;

@ -0,0 +1,75 @@
/*
*
* Copyright 2017 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#ifndef GRPC_CORE_LIB_HANDSHAKER_PROXY_MAPPER_REGISTRY_H
#define GRPC_CORE_LIB_HANDSHAKER_PROXY_MAPPER_REGISTRY_H
#include <grpc/support/port_platform.h>
#include <algorithm>
#include <memory>
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/handshaker/proxy_mapper.h"
#include "src/core/lib/iomgr/resolved_address.h"
namespace grpc_core {
class ProxyMapperRegistry {
using ProxyMapperList = std::vector<std::unique_ptr<ProxyMapperInterface>>;
public:
class Builder {
public:
/// Registers a new proxy mapper.
/// If \a at_start is true, the new mapper will be at the beginning of
/// the list. Otherwise, it will be added to the end.
void Register(bool at_start, std::unique_ptr<ProxyMapperInterface> mapper);
ProxyMapperRegistry Build();
private:
ProxyMapperList mappers_;
};
~ProxyMapperRegistry() = default;
ProxyMapperRegistry(const ProxyMapperRegistry&) = delete;
ProxyMapperRegistry& operator=(const ProxyMapperRegistry&) = delete;
ProxyMapperRegistry(ProxyMapperRegistry&&) = default;
ProxyMapperRegistry& operator=(ProxyMapperRegistry&&) = default;
absl::optional<std::string> MapName(absl::string_view server_uri,
ChannelArgs* args) const;
absl::optional<grpc_resolved_address> MapAddress(
const grpc_resolved_address& address, ChannelArgs* args) const;
private:
ProxyMapperRegistry() = default;
ProxyMapperList mappers_;
};
} // namespace grpc_core
#endif /* GRPC_CORE_LIB_HANDSHAKER_PROXY_MAPPER_REGISTRY_H */

@ -27,13 +27,10 @@
extern void grpc_register_extra_plugins(void);
void grpc_client_channel_init(void);
void grpc_client_channel_shutdown(void);
void grpc_resolver_dns_ares_init(void);
void grpc_resolver_dns_ares_shutdown(void);
void grpc_register_built_in_plugins(void) {
grpc_register_plugin(grpc_client_channel_init, grpc_client_channel_shutdown);
grpc_register_plugin(grpc_resolver_dns_ares_init,
grpc_resolver_dns_ares_shutdown);
grpc_register_extra_plugins();
@ -68,6 +65,7 @@ extern void RegisterWeightedTargetLbPolicy(CoreConfiguration::Builder* builder);
extern void RegisterPickFirstLbPolicy(CoreConfiguration::Builder* builder);
extern void RegisterRoundRobinLbPolicy(CoreConfiguration::Builder* builder);
extern void RegisterRingHashLbPolicy(CoreConfiguration::Builder* builder);
extern void RegisterHttpProxyMapper(CoreConfiguration::Builder* builder);
#ifndef GRPC_NO_RLS
extern void RegisterRlsLbPolicy(CoreConfiguration::Builder* builder);
#endif // !GRPC_NO_RLS
@ -102,6 +100,7 @@ void BuildCoreConfiguration(CoreConfiguration::Builder* builder) {
RegisterNativeDnsResolver(builder);
RegisterSockaddrResolver(builder);
RegisterFakeResolver(builder);
RegisterHttpProxyMapper(builder);
#ifdef GPR_SUPPORT_BINDER_TRANSPORT
RegisterBinderResolver(builder);
#endif

@ -50,7 +50,6 @@ CORE_SOURCE_FILES = [
'src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc',
'src/core/ext/filters/client_channel/local_subchannel_pool.cc',
'src/core/ext/filters/client_channel/proxy_mapper_registry.cc',
'src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc',
@ -511,6 +510,7 @@ CORE_SOURCE_FILES = [
'src/core/lib/gprpp/time_averaged_stats.cc',
'src/core/lib/gprpp/time_util.cc',
'src/core/lib/gprpp/work_serializer.cc',
'src/core/lib/handshaker/proxy_mapper_registry.cc',
'src/core/lib/http/format_request.cc',
'src/core/lib/http/httpcli.cc',
'src/core/lib/http/httpcli_security_connector.cc',

@ -1118,9 +1118,6 @@ src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc \
src/core/ext/filters/client_channel/local_subchannel_pool.cc \
src/core/ext/filters/client_channel/local_subchannel_pool.h \
src/core/ext/filters/client_channel/proxy_mapper.h \
src/core/ext/filters/client_channel/proxy_mapper_registry.cc \
src/core/ext/filters/client_channel/proxy_mapper_registry.h \
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc \
src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h \
@ -2077,6 +2074,9 @@ src/core/lib/gprpp/time_util.h \
src/core/lib/gprpp/unique_type_name.h \
src/core/lib/gprpp/work_serializer.cc \
src/core/lib/gprpp/work_serializer.h \
src/core/lib/handshaker/proxy_mapper.h \
src/core/lib/handshaker/proxy_mapper_registry.cc \
src/core/lib/handshaker/proxy_mapper_registry.h \
src/core/lib/http/format_request.cc \
src/core/lib/http/format_request.h \
src/core/lib/http/httpcli.cc \

@ -936,9 +936,6 @@ src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc \
src/core/ext/filters/client_channel/local_subchannel_pool.cc \
src/core/ext/filters/client_channel/local_subchannel_pool.h \
src/core/ext/filters/client_channel/proxy_mapper.h \
src/core/ext/filters/client_channel/proxy_mapper_registry.cc \
src/core/ext/filters/client_channel/proxy_mapper_registry.h \
src/core/ext/filters/client_channel/resolver/README.md \
src/core/ext/filters/client_channel/resolver/binder/README.md \
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc \
@ -1869,6 +1866,9 @@ src/core/lib/gprpp/time_util.h \
src/core/lib/gprpp/unique_type_name.h \
src/core/lib/gprpp/work_serializer.cc \
src/core/lib/gprpp/work_serializer.h \
src/core/lib/handshaker/proxy_mapper.h \
src/core/lib/handshaker/proxy_mapper_registry.cc \
src/core/lib/handshaker/proxy_mapper_registry.h \
src/core/lib/http/format_request.cc \
src/core/lib/http/format_request.h \
src/core/lib/http/httpcli.cc \

Loading…
Cancel
Save