envoyproxy/envoy

[ExtProc] Content-Length Header Mutation in FULL_DUPLEX_STREAMED body processing mode

オープン

#39,035 opened on 2025/04/07

 (7 件のコメント) (0 件のリアクション) (1 人の担当者)C++ (5,373 件のフォーク)batch import
enhancementext-prochelp wanted

Repository metrics

Stars
 (27,997 個のスター)
PR merge metrics
 (平均マージ 8d) (30d で 378 merged PRs)

説明

Title: [ExtProc] Content-Length Header Mutation in FULL_DUPLEX_STREAMED body processing mode

Description: Should ExtProc in FULL_DUPLEX_STREAMED body processing mode switch to chunked encoded transfer even if a content length is provided as part of a header mutation? The following comment in https://github.com/envoyproxy/envoy/blob/737efd331cce18b172a2f0241638d810ee73d604/source/extensions/filters/http/ext_proc/processor_state.h#L190 states otherwise

ext_proc filter can not guarantee to set the content length correctly if body is mutated by external processor later.

But, I am not sure if this is correct for duplex streamed processing, where to my understanding the extproc filter is in full control over what is delivered down or upstream.

I guess the situation is more complicated. Can any one shed some light on the topic.

Thank you very much.

Andre

コントリビューターガイド