envoyproxy/envoy

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

Open

#39.035 geöffnet am 7. Apr. 2025

Auf GitHub ansehen
 (7 Kommentare) (0 Reaktionen) (1 zugewiesene Person)C++ (5.373 Forks)batch import
enhancementext-prochelp wanted

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

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

Contributor Guide