Skip to content

Commit 7c2ebe3

Browse files
dynamic_modules: use addStreamFilter for dynamic_modules http filter callback (envoyproxy#38583)
Using addStreamDecoderFilter and addStreamEncoderFilter will cause filter to be added twice in filter manager, so that callback like onStreamComplete will be called twice for one filter. Using addStreamFilter can make sure that callback will only be called once for one filter. Signed-off-by: Zhaoyang Li <[email protected]>
1 parent ca57308 commit 7c2ebe3

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

source/extensions/filters/http/dynamic_modules/factory.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ absl::StatusOr<Http::FilterFactoryCb> DynamicModuleConfigFactory::createFilterFa
4242
std::make_shared<Envoy::Extensions::DynamicModules::HttpFilters::DynamicModuleHttpFilter>(
4343
config);
4444
filter->initializeInModuleFilter();
45-
callbacks.addStreamDecoderFilter(filter);
46-
callbacks.addStreamEncoderFilter(filter);
45+
callbacks.addStreamFilter(filter);
4746
};
4847
}
4948

test/extensions/dynamic_modules/http/factory_test.cc

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ filter_name: foo
4444
auto factory_cb = result.value();
4545
Http::MockFilterChainFactoryCallbacks callbacks;
4646

47-
EXPECT_CALL(callbacks, addStreamDecoderFilter(testing::_));
48-
EXPECT_CALL(callbacks, addStreamEncoderFilter(testing::_));
47+
EXPECT_CALL(callbacks, addStreamFilter(testing::_));
4948
factory_cb(callbacks);
5049
}
5150

@@ -74,8 +73,7 @@ filter_name: foo
7473
auto factory_cb = result.value();
7574
Http::MockFilterChainFactoryCallbacks callbacks;
7675

77-
EXPECT_CALL(callbacks, addStreamDecoderFilter(testing::_));
78-
EXPECT_CALL(callbacks, addStreamEncoderFilter(testing::_));
76+
EXPECT_CALL(callbacks, addStreamFilter(testing::_));
7977
factory_cb(callbacks);
8078
}
8179

@@ -107,8 +105,7 @@ filter_name: foo
107105
auto factory_cb = result.value();
108106
Http::MockFilterChainFactoryCallbacks callbacks;
109107

110-
EXPECT_CALL(callbacks, addStreamDecoderFilter(testing::_));
111-
EXPECT_CALL(callbacks, addStreamEncoderFilter(testing::_));
108+
EXPECT_CALL(callbacks, addStreamFilter(testing::_));
112109
factory_cb(callbacks);
113110
}
114111

0 commit comments

Comments
 (0)