diff --git a/.clang-format b/.clang-format index d1e80b770..78d519b55 100644 --- a/.clang-format +++ b/.clang-format @@ -65,7 +65,7 @@ FixNamespaceComments: true ForEachMacros: - Q_FOREACH_THIS_LIST_MUST_BE_NON_EMPTY IncludeBlocks: Preserve -IndentCaseBlocks: false +#IndentCaseBlocks: false IndentCaseLabels: true IndentGotoLabels: true IndentPPDirectives: None diff --git a/tdnet/td/net/HttpConnectionBase.cpp b/tdnet/td/net/HttpConnectionBase.cpp index 5de245bd2..1a0a11629 100644 --- a/tdnet/td/net/HttpConnectionBase.cpp +++ b/tdnet/td/net/HttpConnectionBase.cpp @@ -33,6 +33,7 @@ HttpConnectionBase::HttpConnectionBase(State state, SocketFd fd, SslStream ssl_s read_source_ >> read_sink_; write_source_ >> write_sink_; } + peer_address_.init_peer_address(fd_).ignore(); } void HttpConnectionBase::live_event() { @@ -123,6 +124,7 @@ void HttpConnectionBase::loop() { state_ = State::Write; LOG(DEBUG) << "Send query to handler"; live_event(); + current_query_->peer_address_ = peer_address_; on_query(std::move(current_query_)); } else { want_read = true; diff --git a/tdnet/td/net/HttpConnectionBase.h b/tdnet/td/net/HttpConnectionBase.h index bf8bf7e78..f52f16bd8 100644 --- a/tdnet/td/net/HttpConnectionBase.h +++ b/tdnet/td/net/HttpConnectionBase.h @@ -38,6 +38,7 @@ class HttpConnectionBase : public Actor { State state_; BufferedFd fd_; + IPAddress peer_address_; SslStream ssl_stream_; ByteFlowSource read_source_{&fd_.input_buffer()}; diff --git a/tdnet/td/net/HttpQuery.h b/tdnet/td/net/HttpQuery.h index fe89905d4..d198b843e 100644 --- a/tdnet/td/net/HttpQuery.h +++ b/tdnet/td/net/HttpQuery.h @@ -13,6 +13,8 @@ #include "td/utils/Slice.h" #include "td/utils/StringBuilder.h" +#include "td/utils/port/IPAddress.h" + #include namespace td { @@ -33,6 +35,8 @@ class HttpQuery { vector files_; MutableSlice content_; + IPAddress peer_address_; + Slice get_header(Slice key) const; MutableSlice get_arg(Slice key) const;