From adfa19d9b378fc0ab30d497bd4d3c2a4b62c8763 Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 31 Dec 2025 02:04:36 +0300 Subject: [PATCH] Improve Host header generation. --- telegram-bot-api/WebhookActor.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/telegram-bot-api/WebhookActor.cpp b/telegram-bot-api/WebhookActor.cpp index 12b97d0..fbf6388 100644 --- a/telegram-bot-api/WebhookActor.cpp +++ b/telegram-bot-api/WebhookActor.cpp @@ -552,14 +552,12 @@ td::Status WebhookActor::send_update() { td::HttpHeaderCreator hc; hc.init_post(url_.query_); - - auto hostHeaderValue = url_.host_; - // Append :port to the host header if a non-default port was specified. - if ((url_.protocol_ == td::HttpUrl::Protocol::Https && url_.port_ != 443) || (url_.protocol_ == td::HttpUrl::Protocol::Http && url_.port_ != 80)) { - hostHeaderValue += ":" + std::to_string(url_.port_); + if ((url_.protocol_ == td::HttpUrl::Protocol::Https && url_.port_ == 443) || + (url_.protocol_ == td::HttpUrl::Protocol::Http && url_.port_ == 80)) { + hc.add_header("Host", url_.host_); + } else { + hc.add_header("Host", PSLICE() << url_.host_ << ':' << url_.port_); } - - hc.add_header("Host", hostHeaderValue); if (!url_.userinfo_.empty()) { hc.add_header("Authorization", PSLICE() << "Basic " << td::base64_encode(url_.userinfo_)); }