diff --git a/BUILD b/BUILD index 201b358f4dc94dec03d4322b0ff503675fa210a6..ed3009d2cd3413aa3f50a2b1e62973a2144c3e40 100644 --- a/BUILD +++ b/BUILD @@ -706,6 +706,7 @@ grpc_cc_library( "include/grpc/slice.h", "include/grpc/slice_buffer.h", "include/grpc/status.h", + "include/grpc/support/workaround_list.h", ], deps = [ "gpr_base", @@ -741,6 +742,8 @@ grpc_cc_library( "grpc_resolver_sockaddr", "grpc_transport_chttp2_client_insecure", "grpc_transport_chttp2_server_insecure", + "grpc_workaround_cronet_compression_filter", + "grpc_server_backward_compatibility", ] ) @@ -856,6 +859,21 @@ grpc_cc_library( ], ) +grpc_cc_library( + name = "grpc_workaround_cronet_compression_filter", + srcs = [ + "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c", + ], + hdrs = [ + "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h", + ], + language = "c", + deps = [ + "grpc_base", + "grpc_server_backward_compatibility", + ], +) + grpc_cc_library( name = "grpc_codegen", language = "c", @@ -1506,4 +1524,19 @@ grpc_cc_library( ], ) +grpc_cc_library( + name = "grpc_server_backward_compatibility", + srcs = [ + "src/core/ext/filters/workarounds/workaround_utils.c", + ], + hdrs = [ + "src/core/ext/filters/workarounds/workaround_utils.h", + ], + language = "c", + deps = [ + "grpc_base", + ], +) + + grpc_generate_one_off_targets() diff --git a/test/core/end2end/generate_tests.bzl b/test/core/end2end/generate_tests.bzl index a872bc727698db2dd82fa8584ba802ce09361e63..6865aefa3dc84cca77884e94d98788f074ca2531 100755 --- a/test/core/end2end/generate_tests.bzl +++ b/test/core/end2end/generate_tests.bzl @@ -57,6 +57,7 @@ END2END_FIXTURES = { 'h2_full': fixture_options(), 'h2_full+pipe': fixture_options(platforms=['linux']), 'h2_full+trace': fixture_options(tracing=True), + 'h2_full+workarounds': fixture_options(), 'h2_http_proxy': fixture_options(), 'h2_oauth2': fixture_options(), 'h2_proxy': fixture_options(includes_proxy=True), @@ -136,6 +137,7 @@ END2END_TESTS = { 'trailing_metadata': test_options(), 'authority_not_supported': test_options(), 'filter_latency': test_options(), + 'workaround_cronet_compression': test_options(), 'write_buffering': test_options(), 'write_buffering_at_end': test_options(), }