diff options
| author | Arseny Smirnov <arseny30@gmail.com> | 2020-07-13 15:23:03 +0300 |
|---|---|---|
| committer | Arseny Smirnov <arseny30@gmail.com> | 2020-07-13 15:23:03 +0300 |
| commit | b5ae6b5b95c1c6cf52decfb67dfeeaf26b2a5ef2 (patch) | |
| tree | 6e44572c23ba925848e3a1ff590d266ea1f07e3d /tdnet | |
| parent | fee05df2cc4ac4ce9ddf6237de88f3e182d519d7 (diff) | |
HttpQuery: store peer address into query
GitOrigin-RevId: 00b1b116e508ab49d9cabc192f7999069fb3add1
Diffstat (limited to 'tdnet')
| -rw-r--r-- | tdnet/td/net/HttpConnectionBase.cpp | 2 | ||||
| -rw-r--r-- | tdnet/td/net/HttpConnectionBase.h | 1 | ||||
| -rw-r--r-- | tdnet/td/net/HttpQuery.h | 4 |
3 files changed, 7 insertions, 0 deletions
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<SocketFd> 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 <utility> namespace td { @@ -33,6 +35,8 @@ class HttpQuery { vector<HttpFile> files_; MutableSlice content_; + IPAddress peer_address_; + Slice get_header(Slice key) const; MutableSlice get_arg(Slice key) const; |
