Skip to content

Make HTTPCodecFilterChain an isolated class (behaviour preserving) - #644

Open
DenisYaroshevskiy wants to merge 1 commit into
facebook:mainfrom
DenisYaroshevskiy:export-D120697369
Open

DenisYaroshevskiy wants to merge 1 commit into
facebook:mainfrom
DenisYaroshevskiy:export-D120697369

Conversation

@DenisYaroshevskiy

Copy link
Copy Markdown

Summary:
Instead of calling codec_-> and all the chain methods, we want to encapsulate them together.
That way we can optimize them in the diffs to follow.

This diff just does the encapsulation.

This is mechanical and behaviour-preserving. The bulk of the diff is
codec_->foo() becoming codec_.foo() across HTTPSession, HQSession,
HTTPCoroSession and their tests.

The only problem with exposing both Chain and Codec methods was with setCallback
that is available on both today.
The only call site HQSession::initIngress where ->setCallback was used is behaviourally identical in this diff.
(it will be fixed on top)

Differential Revision: D120697369

Summary:
Instead of calling `codec_->` and all the chain methods, we want to encapsulate them together.
That way we can optimize them in the diffs to follow.

This diff just does the encapsulation.

This is mechanical and behaviour-preserving. The bulk of the diff is
`codec_->foo()` becoming `codec_.foo()` across `HTTPSession`, `HQSession`,
`HTTPCoroSession` and their tests.

The only problem with exposing both Chain and Codec methods was with `setCallback`
that is available on both today.
The only call site `HQSession::initIngress` where `->setCallback` was used is behaviourally identical in this diff.
(it will be fixed on top)

Differential Revision: D120697369
@meta-cla meta-cla Bot added the CLA Signed label Sep 18, 2026
@meta-codesync

meta-codesync Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

@DenisYaroshevskiy has exported this pull request. If you are a Meta employee, you can view the originating Diff in D120697369.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant