diff --git a/src/asio_server_http2_handler.cc b/src/asio_server_http2_handler.cc index bf594f87..fced5248 100644 --- a/src/asio_server_http2_handler.cc +++ b/src/asio_server_http2_handler.cc @@ -453,7 +453,9 @@ response *http2_handler::push_promise(boost::system::error_code &ec, boost::asio::io_service &http2_handler::io_service() { return io_service_; } -boost::asio::ip::tcp::endpoint http2_handler::remote_endpoint() { return remote_ep_; } +const boost::asio::ip::tcp::endpoint &http2_handler::remote_endpoint() { + return remote_ep_; +} callback_guard::callback_guard(http2_handler &h) : handler(h) { handler.enter_callback(); diff --git a/src/asio_server_http2_handler.h b/src/asio_server_http2_handler.h index 19dcfb77..a907e78f 100644 --- a/src/asio_server_http2_handler.h +++ b/src/asio_server_http2_handler.h @@ -90,7 +90,7 @@ public: boost::asio::io_service &io_service(); - boost::asio::ip::tcp::endpoint remote_endpoint(); + const boost::asio::ip::tcp::endpoint &remote_endpoint(); const std::string &http_date(); diff --git a/src/asio_server_request.cc b/src/asio_server_request.cc index 8237ff76..9612363b 100644 --- a/src/asio_server_request.cc +++ b/src/asio_server_request.cc @@ -50,7 +50,7 @@ void request::on_data(data_cb cb) const { request_impl &request::impl() const { return *impl_; } -boost::asio::ip::tcp::endpoint request::remote_endpoint() const { +const boost::asio::ip::tcp::endpoint &request::remote_endpoint() const { return impl_->remote_endpoint(); } diff --git a/src/asio_server_request_impl.cc b/src/asio_server_request_impl.cc index a7ab88c7..915b03e8 100644 --- a/src/asio_server_request_impl.cc +++ b/src/asio_server_request_impl.cc @@ -54,7 +54,7 @@ void request_impl::call_on_data(const uint8_t *data, std::size_t len) { } } -boost::asio::ip::tcp::endpoint request_impl::remote_endpoint() const { +const boost::asio::ip::tcp::endpoint &request_impl::remote_endpoint() const { return remote_ep_; } diff --git a/src/asio_server_request_impl.h b/src/asio_server_request_impl.h index 087b65ac..b4a37ff1 100644 --- a/src/asio_server_request_impl.h +++ b/src/asio_server_request_impl.h @@ -55,7 +55,7 @@ public: void stream(class stream *s); void call_on_data(const uint8_t *data, std::size_t len); - boost::asio::ip::tcp::endpoint remote_endpoint() const; + const boost::asio::ip::tcp::endpoint &remote_endpoint() const; void remote_endpoint(boost::asio::ip::tcp::endpoint ep); private: diff --git a/src/includes/nghttp2/asio_http2_server.h b/src/includes/nghttp2/asio_http2_server.h index f98c6c79..94bdc911 100644 --- a/src/includes/nghttp2/asio_http2_server.h +++ b/src/includes/nghttp2/asio_http2_server.h @@ -60,7 +60,7 @@ public: request_impl &impl() const; // Returns the remote endpoint of the request - boost::asio::ip::tcp::endpoint remote_endpoint() const; + const boost::asio::ip::tcp::endpoint &remote_endpoint() const; private: std::unique_ptr impl_;