From 6449524ed55b8b2d0daecca541875549e356141a Mon Sep 17 00:00:00 2001 From: Andrea Bondavalli Date: Thu, 18 Jun 2020 19:33:21 +0200 Subject: [PATCH] Modified daemon code and build.sh script to use version v0.7.0 of cpp-httplib --- build.sh | 2 +- daemon/http_server.cpp | 2 +- daemon/session_manager.cpp | 5 +++-- daemon/tests/daemon_test.cpp | 7 ++++--- daemon/utils.cpp | 2 +- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/build.sh b/build.sh index 8583b69..9ce5491 100755 --- a/build.sh +++ b/build.sh @@ -28,7 +28,7 @@ fi if [ ! -d cpp-httplib.git ]; then git clone https://github.com/yhirose/cpp-httplib.git cd cpp-httplib - git checkout 301a419c0243d3ab843e5fc2bb9fa56a9daa7bcd + git checkout 42f9f9107f87ad2ee04be117dbbadd621c449552 cd .. fi cd .. diff --git a/daemon/http_server.cpp b/daemon/http_server.cpp index 7ae6c00..8ad57ef 100644 --- a/daemon/http_server.cpp +++ b/daemon/http_server.cpp @@ -83,7 +83,7 @@ bool HttpServer::init() { return false; } - svr_.set_base_dir(config_->get_http_base_dir().c_str()); + svr_.set_mount_point(nullptr, config_->get_http_base_dir().c_str()); svr_.Get("(/|/Config|/PTP|/Sources|/Sinks|/Browser)", [&](const Request& req, Response& res) { diff --git a/daemon/session_manager.cpp b/daemon/session_manager.cpp index 620d80e..05cbbf6 100644 --- a/daemon/session_manager.cpp +++ b/daemon/session_manager.cpp @@ -18,7 +18,6 @@ // #define CPPHTTPLIB_PAYLOAD_MAX_LENGTH 4096 // max for SDP file -#define CPPHTTPLIB_READ_TIMEOUT_SECOND 10 #include @@ -683,7 +682,9 @@ std::error_code SessionManager::add_sink(const StreamSink& sink) { if (boost::iequals(protocol, "http")) { httplib::Client cli(host.c_str(), !atoi(port.c_str()) ? 80 : atoi(port.c_str())); - cli.set_timeout_sec(10); + cli.set_connection_timeout(10); + cli.set_read_timeout(10); + cli.set_write_timeout(10); auto res = cli.Get(path.c_str()); if (!res) { BOOST_LOG_TRIVIAL(error) diff --git a/daemon/tests/daemon_test.cpp b/daemon/tests/daemon_test.cpp index c8c8bd7..accb133 100644 --- a/daemon/tests/daemon_test.cpp +++ b/daemon/tests/daemon_test.cpp @@ -18,7 +18,6 @@ // #define CPPHTTPLIB_PAYLOAD_MAX_LENGTH 4096 // max for SDP file -#define CPPHTTPLIB_READ_TIMEOUT_SECOND 30 #include #include #include @@ -83,7 +82,7 @@ struct DaemonInstance { #if defined _MEMORY_CHECK_ search_path("valgrind"), #endif - "../aes67-daemon", "-c", "daemon.conf", "-p", "9999", "-i", "lo" + "../aes67-daemon", "-c", "daemon.conf", "-p", "9999" }; inline static bool ok{false}; }; @@ -99,7 +98,9 @@ struct Client { multicast::join_group(address::from_string(g_sap_address).to_v4(), address::from_string(g_daemon_address).to_v4())); - cli_.set_timeout_sec(30); + cli_.set_connection_timeout(30); + cli_.set_read_timeout(30); + cli_.set_write_timeout(30); } bool is_alive() { diff --git a/daemon/utils.cpp b/daemon/utils.cpp index 66c074b..5271ee7 100644 --- a/daemon/utils.cpp +++ b/daemon/utils.cpp @@ -42,7 +42,7 @@ std::tuple parse_url(const std::string& _url) { - std::string url = httplib::detail::decode_url(_url); + std::string url = httplib::detail::decode_url(_url, false); size_t protocol_sep_pos = url.find_first_of("://"); if (protocol_sep_pos == std::string::npos) { /* no protocol, invalid URL */