From 52c39a9997aa2e8187828ce54afeae58003d9a47 Mon Sep 17 00:00:00 2001 From: chenBright Date: Mon, 2 Feb 2026 19:50:34 +0800 Subject: [PATCH] Copy http headers from main controller to sub controller --- src/brpc/parallel_channel.cpp | 3 +++ src/brpc/selective_channel.cpp | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/brpc/parallel_channel.cpp b/src/brpc/parallel_channel.cpp index 130712bfb9..66b8f0cb75 100644 --- a/src/brpc/parallel_channel.cpp +++ b/src/brpc/parallel_channel.cpp @@ -724,6 +724,9 @@ void ParallelChannel::CallMethod( ParallelChannelDone::SubDone* sd = d->sub_done(j++); // Forward the attachment to each sub call sd->cntl.request_attachment().append(cntl->request_attachment()); + if (PROTOCOL_HTTP == cntl->request_protocol()) { + sd->cntl.http_request() = cntl->http_request(); + } _chans[i].chan->CallMethod(sd->ap.method, &sd->cntl, sd->ap.request, sd->ap.response, sd); } diff --git a/src/brpc/selective_channel.cpp b/src/brpc/selective_channel.cpp index ec93354121..00810b04ed 100644 --- a/src/brpc/selective_channel.cpp +++ b/src/brpc/selective_channel.cpp @@ -344,7 +344,9 @@ int Sender::IssueRPC(int64_t start_realtime_us) { sub_cntl->set_request_code(_main_cntl->request_code()); // Forward request attachment to the subcall sub_cntl->request_attachment().append(_main_cntl->request_attachment()); - sub_cntl->http_request() = _main_cntl->http_request(); + if (PROTOCOL_HTTP == _main_cntl->request_protocol()) { + sub_cntl->http_request() = _main_cntl->http_request(); + } sel_out.channel()->CallMethod(_main_cntl->_method, &r.sub_done->_cntl,