aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tdnet/td/net/HttpHeaderCreator.cpp10
-rw-r--r--tdnet/td/net/HttpHeaderCreator.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/tdnet/td/net/HttpHeaderCreator.cpp b/tdnet/td/net/HttpHeaderCreator.cpp
index dd70bcb49..a3db8321e 100644
--- a/tdnet/td/net/HttpHeaderCreator.cpp
+++ b/tdnet/td/net/HttpHeaderCreator.cpp
@@ -10,6 +10,16 @@
namespace td {
+void HttpHeaderCreator::add_host_header(HttpUrl::Protocol protocol, Slice host, int32 port) {
+ sb_ << "Host: ";
+ if ((protocol == HttpUrl::Protocol::Https && port == 443) || (protocol == HttpUrl::Protocol::Http && port == 80)) {
+ sb_ << host;
+ } else {
+ sb_ << host << ':' << port;
+ }
+ sb_ << "\r\n";
+}
+
string HttpHeaderCreator::get_host_header(HttpUrl::Protocol protocol, Slice host, int32 port) {
if ((protocol == HttpUrl::Protocol::Https && port == 443) || (protocol == HttpUrl::Protocol::Http && port == 80)) {
return host.str();
diff --git a/tdnet/td/net/HttpHeaderCreator.h b/tdnet/td/net/HttpHeaderCreator.h
index 021f72c17..ede1f9fe7 100644
--- a/tdnet/td/net/HttpHeaderCreator.h
+++ b/tdnet/td/net/HttpHeaderCreator.h
@@ -65,6 +65,8 @@ class HttpHeaderCreator {
add_header("Connection", "keep-alive");
}
+ void add_host_header(HttpUrl::Protocol protocol, Slice host, int32 port);
+
static string get_host_header(HttpUrl::Protocol protocol, Slice host, int32 port);
Result<Slice> finish(Slice content = {}) TD_WARN_UNUSED_RESULT;