From bcac1087f623827573cba335939598c71cb45f35 Mon Sep 17 00:00:00 2001 From: phunkyfish Date: Sat, 3 Feb 2024 20:12:42 +0000 Subject: [PATCH] Only set connection-timeout for connection manager if it's not NFS --- src/iptvsimple/utilities/WebUtils.cpp | 9 +++++++-- src/iptvsimple/utilities/WebUtils.h | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/iptvsimple/utilities/WebUtils.cpp b/src/iptvsimple/utilities/WebUtils.cpp index bef63527..165e139c 100644 --- a/src/iptvsimple/utilities/WebUtils.cpp +++ b/src/iptvsimple/utilities/WebUtils.cpp @@ -116,6 +116,11 @@ bool WebUtils::IsHttpUrl(const std::string& url) return StringUtils::StartsWith(url, HTTP_PREFIX) || StringUtils::StartsWith(url, HTTPS_PREFIX); } +bool WebUtils::IsNfsUrl(const std::string& url) +{ + return StringUtils::StartsWith(url, NFS_PREFIX); +} + std::string WebUtils::RedactUrl(const std::string& url) { std::string redactedUrl = url; @@ -145,8 +150,8 @@ bool WebUtils::Check(const std::string& strURL, int connectionTimeoutSecs, bool return false; } - fileHandle.CURLAddOption(ADDON_CURL_OPTION_PROTOCOL, "connection-timeout", - std::to_string(connectionTimeoutSecs)); + if (!IsNfsUrl(strURL)) + fileHandle.CURLAddOption(ADDON_CURL_OPTION_PROTOCOL, "connection-timeout", std::to_string(connectionTimeoutSecs)); if (!fileHandle.CURLOpen(ADDON_READ_NO_CACHE)) { diff --git a/src/iptvsimple/utilities/WebUtils.h b/src/iptvsimple/utilities/WebUtils.h index 1b358f2f..22ec49a5 100644 --- a/src/iptvsimple/utilities/WebUtils.h +++ b/src/iptvsimple/utilities/WebUtils.h @@ -15,6 +15,7 @@ namespace iptvsimple { static const std::string HTTP_PREFIX = "http://"; static const std::string HTTPS_PREFIX = "https://"; + static const std::string NFS_PREFIX = "nfs://"; static const std::string UDP_MULTICAST_PREFIX = "udp://@"; static const std::string RTP_MULTICAST_PREFIX = "rtp://@"; @@ -26,6 +27,7 @@ namespace iptvsimple static bool IsEncoded(const std::string& value); static std::string ReadFileContentsStartOnly(const std::string& url, int* httpCode); static bool IsHttpUrl(const std::string& url); + static bool IsNfsUrl(const std::string& url); static std::string RedactUrl(const std::string& url); static bool Check(const std::string& url, int connectionTimeoutSecs, bool isLocalPath = false); };