envoyproxy/envoy

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

Open

#39 035 ouverte le 7 avr. 2025

Voir sur GitHub
 (7 commentaires) (0 réactions) (1 assigné)C++ (5 373 forks)batch import
enhancementext-prochelp wanted

Métriques du dépôt

Stars
 (27 997 stars)
Métriques de merge PR
 (Merge moyen 8j) (378 PRs mergées en 30 j)

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

Guide contributeur