change webdav url scheme to webdav:// and webdavs://

This commit is contained in:
Chee Yee
2023-02-21 21:59:11 -08:00
parent d248e9e3ea
commit 85a5657821
4 changed files with 23 additions and 4 deletions
+1 -1
View File
@@ -1118,7 +1118,7 @@ namespace Actions
else if (strcmp(remote_settings->http_server_type, HTTP_SERVER_NPX_SERVE) == 0)
remoteclient = new NpxServeClient();
}
else if (strncmp(remote_settings->server, "davs://", 7) == 0 || strncmp(remote_settings->server, "dav://", 6) == 0)
else if (strncmp(remote_settings->server, "webdavs://", 10) == 0 || strncmp(remote_settings->server, "webdav://", 9) == 0)
{
remoteclient = new WebDAV::WebDavClient();
}
+17 -1
View File
@@ -2,6 +2,7 @@
#include <cstring>
#include <map>
#include <vector>
#include <regex>
#include <stdlib.h>
#include "config.h"
#include "fs.h"
@@ -41,7 +42,7 @@ namespace CONFIG
{
setting->type = CLIENT_TYPE_FTP;
}
else if (strncmp(setting->server, "dav://", 6) == 0 || strncmp(setting->server, "davs://", 7) == 0)
else if (strncmp(setting->server, "webdav://", 9) == 0 || strncmp(setting->server, "webdavs://", 10) == 0)
{
setting->type = CLIENT_TYPE_WEBDAV;
}
@@ -69,6 +70,14 @@ namespace CONFIG
OpenIniFile(CONFIG_INI_FILE);
int version = ReadInt(CONFIG_GLOBAL, CONFIG_VERSION, 0);
bool conversion_needed = false;
if (version < CONFIG_VERSION_NUM)
{
conversion_needed = true;
}
WriteInt(CONFIG_GLOBAL, CONFIG_VERSION, CONFIG_VERSION_NUM);
// Load global config
sprintf(language, "%s", ReadString(CONFIG_GLOBAL, CONFIG_LANGUAGE, ""));
WriteString(CONFIG_GLOBAL, CONFIG_LANGUAGE, language);
@@ -88,6 +97,13 @@ namespace CONFIG
sprintf(setting.site_name, "%s", sites[i].c_str());
sprintf(setting.server, "%s", ReadString(sites[i].c_str(), CONFIG_REMOTE_SERVER_URL, ""));
if (conversion_needed && strlen(setting.server)>0)
{
std::string tmp = std::string(setting.server);
tmp = std::regex_replace(tmp, std::regex("http://"), "webdav://");
tmp = std::regex_replace(tmp, std::regex("https://"), "webdavs://");
sprintf(setting.server, "%s", tmp.c_str());
}
WriteString(sites[i].c_str(), CONFIG_REMOTE_SERVER_URL, setting.server);
sprintf(setting.username, "%s", ReadString(sites[i].c_str(), CONFIG_REMOTE_SERVER_USER, ""));
+3
View File
@@ -23,6 +23,9 @@
#define CONFIG_ENABLE_RPI "remote_server_enable_rpi"
#define CONFIG_REMOTE_HTTP_SERVER_TYPE "remote_server_http_server_type"
#define CONFIG_VERSION "config_version"
#define CONFIG_VERSION_NUM 1
#define CONFIG_FAVORITE_URLS "favorite_urls"
#define MAX_FAVORITE_URLS 30
+2 -2
View File
@@ -13,8 +13,8 @@ namespace WebDAV
{
inline std::string GetHttpUrl(std::string url)
{
std::string http_url = std::regex_replace(url, std::regex("dav://"), "http://");
http_url = std::regex_replace(http_url, std::regex("davs://"), "https://");
std::string http_url = std::regex_replace(url, std::regex("webdav://"), "http://");
http_url = std::regex_replace(http_url, std::regex("webdavs://"), "https://");
return http_url;
}