From 92bd4e80afc661f1b08251a6ea14ea62a19f1280 Mon Sep 17 00:00:00 2001 From: phunkyfish Date: Mon, 7 Oct 2024 07:49:38 +0100 Subject: [PATCH] Don't add connection-timeout for special:// paths if remote path --- src/iptvsimple/utilities/WebUtils.cpp | 7 ++++++- src/iptvsimple/utilities/WebUtils.h | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/iptvsimple/utilities/WebUtils.cpp b/src/iptvsimple/utilities/WebUtils.cpp index 165e139c..cdcafaec 100644 --- a/src/iptvsimple/utilities/WebUtils.cpp +++ b/src/iptvsimple/utilities/WebUtils.cpp @@ -121,6 +121,11 @@ bool WebUtils::IsNfsUrl(const std::string& url) return StringUtils::StartsWith(url, NFS_PREFIX); } +bool WebUtils::IsSpecialUrl(const std::string& url) +{ + return StringUtils::StartsWith(url, SPECIAL_PREFIX); +} + std::string WebUtils::RedactUrl(const std::string& url) { std::string redactedUrl = url; @@ -150,7 +155,7 @@ bool WebUtils::Check(const std::string& strURL, int connectionTimeoutSecs, bool return false; } - if (!IsNfsUrl(strURL)) + if (!IsNfsUrl(strURL) && !IsSpecialUrl(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 22ec49a5..3a118094 100644 --- a/src/iptvsimple/utilities/WebUtils.h +++ b/src/iptvsimple/utilities/WebUtils.h @@ -16,6 +16,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 SPECIAL_PREFIX = "special://"; static const std::string UDP_MULTICAST_PREFIX = "udp://@"; static const std::string RTP_MULTICAST_PREFIX = "rtp://@"; @@ -28,6 +29,7 @@ namespace iptvsimple 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 bool IsSpecialUrl(const std::string& url); static std::string RedactUrl(const std::string& url); static bool Check(const std::string& url, int connectionTimeoutSecs, bool isLocalPath = false); };