diff options
| -rw-r--r-- | tdnet/td/net/HttpHeaderCreator.cpp | 10 | ||||
| -rw-r--r-- | tdnet/td/net/HttpHeaderCreator.h | 2 |
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; |
