Replies: 2 comments 1 reply
-
|
I think it could be a useful feature, one thing I'd change - we could ditch |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
@mlevkov If we leverage OTEL, this would be the Trace-Id right? and +1 to @spetz recommendation to drop X- prefix. In modern implementations, we don't need that as per the proposal https://datatracker.ietf.org/doc/html/rfc6648 So we should have |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Feature idea: Per-message HTTP header forwarding
Moved from discussion #2919 at @hubcio's request.
Context: While working on the HTTP sink PR (#2925), a question came up about dynamic per-message headers. Today, all HTTP headers are static (config-derived, same for every request). But there are real use cases for per-message headers.
Use cases
X-Iggy-Offset/X-Iggy-Topic/X-Iggy-Partition— routing and dedup at the HTTP endpoint without body parsingConsumedMessage.headers) as HTTP headers — e.g., a producer attachesX-Correlation-IDand the sink forwards it to the downstream endpointProposed design — additive layering
Config surface
This preserves the current pre-built
HeaderMapoptimization for static headers while layering dynamic per-message headers on top. Both options are opt-in and disabled by default.Design considerations
ndjsonandjson_array, per-message headers only apply if the batch contains a single message, or we'd need to pick "representative" headers from the batch (e.g., first message, or common subset). Forindividualmode it's straightforward — each message is its own HTTP request.individualmode at high throughput this could add up, but it's behind an opt-in flag so the default path is unchanged.This could be a follow-up PR after the base HTTP sink (#2925) lands. Thoughts?
Beta Was this translation helpful? Give feedback.
All reactions