envoyproxy/envoy

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

Open

#39.035 aberto em 7 de abr. de 2025

Ver no GitHub
 (7 comments) (0 reactions) (1 assignee)C++ (5.373 forks)batch import
enhancementext-prochelp wanted

Métricas do repositório

Stars
 (27.997 stars)
Métricas de merge de PR
 (Mesclagem média 8d) (378 fundiu PRs em 30d)

Description

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

Guia do colaborador