Fixed warnings
This commit is contained in:
parent
0be0850bb0
commit
82cdbe7ba3
@ -65,7 +65,7 @@ std::string DownloadManager::QueueDownload(std::string url, DOWNLOAD_MODE mode)
|
||||
|
||||
if ((j.AsJson.DoesExist("duration")) && (j.AsJson["duration"].GetDataType() == JDType::INT))
|
||||
{
|
||||
newDownload.duration = j["duration"].AsInt;
|
||||
newDownload.duration = (uint32_t)j["duration"].AsInt;
|
||||
}
|
||||
|
||||
if ((j.AsJson.DoesExist("webpage_url")) && (j.AsJson["webpage_url"].GetDataType() == JDType::STRING))
|
||||
@ -104,7 +104,7 @@ void DownloadManager::Update()
|
||||
std::size_t cachedNumActiveDownloads = GetNumActiveDownloads();
|
||||
|
||||
// Queue next download, if available
|
||||
if (cachedNumActiveDownloads < XGConfig::downloader.num_threads)
|
||||
if ((long long)cachedNumActiveDownloads < (long long)XGConfig::downloader.num_threads)
|
||||
{
|
||||
DownloadNext();
|
||||
}
|
||||
@ -141,6 +141,7 @@ void DownloadManager::DownloadNext()
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (next)
|
||||
next->status = DOWNLOAD_STATUS::DOWNLOADING;
|
||||
|
||||
std::thread* downloadThread = new std::thread([=]() {
|
||||
@ -360,7 +361,6 @@ bool DownloadManager::ClearDownloadCache()
|
||||
|
||||
bool DownloadManager::RemoveFromCacheByID(std::string id)
|
||||
{
|
||||
bool removedAny = false;
|
||||
std::string filePath = "";
|
||||
bool wasFinished = false;
|
||||
for (std::size_t i = 0; i < unfinishedCache.size(); i++)
|
||||
@ -368,7 +368,6 @@ bool DownloadManager::RemoveFromCacheByID(std::string id)
|
||||
if (unfinishedCache[i].tubio_id == id)
|
||||
{
|
||||
filePath = unfinishedCache[i].downloaded_filename;
|
||||
removedAny = true;
|
||||
// Edgecase
|
||||
wasFinished = unfinishedCache[i].status == DOWNLOAD_STATUS::FINISHED;
|
||||
unfinishedCache.erase(unfinishedCache.begin() + i);
|
||||
@ -385,7 +384,6 @@ bool DownloadManager::RemoveFromCacheByID(std::string id)
|
||||
if (saveFileCache[i]["tubio_id"].AsString == id)
|
||||
{
|
||||
saveFileCache.RemoveAt(i);
|
||||
removedAny = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -395,7 +393,6 @@ bool DownloadManager::RemoveFromCacheByID(std::string id)
|
||||
if (saveFileCache_Atomic[i].tubio_id == id)
|
||||
{
|
||||
filePath = saveFileCache_Atomic[i].downloaded_filename;
|
||||
removedAny = true;
|
||||
wasFinished = saveFileCache_Atomic[i].status == DOWNLOAD_STATUS::FINISHED;
|
||||
saveFileCache_Atomic.erase(saveFileCache_Atomic.begin() + i);
|
||||
break;
|
||||
@ -526,7 +523,7 @@ std::vector<DownloadEntry> DownloadManager::ParseJsonArrayToEntries(const JasonP
|
||||
|
||||
if ((iter.DoesExist("duration")) && (iter["duration"].GetDataType() == JDType::INT))
|
||||
{
|
||||
newEntry.duration = iter["duration"].AsInt;
|
||||
newEntry.duration = (uint32_t)iter["duration"].AsInt;
|
||||
}
|
||||
|
||||
if ((iter.DoesExist("tubio_id")) && (iter["tubio_id"].GetDataType() == JDType::STRING))
|
||||
@ -680,6 +677,26 @@ bool DownloadManager::shouldClearCacheASAP = false;
|
||||
|
||||
|
||||
|
||||
Downloader::DownloadEntry::DownloadEntry()
|
||||
{
|
||||
// Some initial values
|
||||
title = "";
|
||||
description = "";
|
||||
uploader = "";
|
||||
duration = -1;
|
||||
tubio_id = "";
|
||||
webpage_url = "";
|
||||
thumbnail_url = "";
|
||||
downloaded_filename = "";
|
||||
download_url = "";
|
||||
status = DOWNLOAD_STATUS::QUEUED;
|
||||
mode = DOWNLOAD_MODE::AUDIO;
|
||||
download_progress = 0;
|
||||
queued_timestamp = 0;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
JsonBlock DownloadEntry::GetAsJson()
|
||||
{
|
||||
JsonBlock jb;
|
||||
|
@ -27,6 +27,9 @@ namespace Downloader
|
||||
class DownloadEntry
|
||||
{
|
||||
public:
|
||||
DownloadEntry();
|
||||
JasonPP::JsonBlock GetAsJson();
|
||||
|
||||
std::string title;
|
||||
std::string description;
|
||||
std::string uploader;
|
||||
@ -41,7 +44,6 @@ namespace Downloader
|
||||
int download_progress;
|
||||
time_t queued_timestamp;
|
||||
|
||||
JasonPP::JsonBlock GetAsJson();
|
||||
|
||||
};
|
||||
|
||||
|
@ -68,7 +68,7 @@ void HttpServer::Update()
|
||||
void HttpServer::ServeStringToConnection(struct mg_connection* c, std::string str, int httpStatusCode)
|
||||
{
|
||||
mg_send_head(c, httpStatusCode, str.length(), "content-type: application/json\nAccess-Control-Allow-Origin: *");
|
||||
mg_printf(c, str.c_str());
|
||||
mg_printf(c, "%s", str.c_str());
|
||||
|
||||
return;
|
||||
}
|
||||
@ -114,14 +114,14 @@ void HttpServer::EventHandler(mg_connection* pNc, int ev, void* p)
|
||||
catch (std::exception& e)
|
||||
{
|
||||
Json j;
|
||||
j.CloneFrom(RestResponseTemplates::GetByCode(INTERNAL_SERVER_ERROR, e.what()));
|
||||
ServeStringToConnection(pNc, j.Render(), INTERNAL_SERVER_ERROR);
|
||||
j.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::INTERNAL_SERVER_ERROR, e.what()));
|
||||
ServeStringToConnection(pNc, j.Render(), (int)HTTP_STATUS_CODE::INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
Json j;
|
||||
j.CloneFrom(RestResponseTemplates::GetByCode(INTERNAL_SERVER_ERROR, "Das not good"));
|
||||
ServeStringToConnection(pNc, j.Render(), INTERNAL_SERVER_ERROR);
|
||||
j.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::INTERNAL_SERVER_ERROR, "Das not good"));
|
||||
ServeStringToConnection(pNc, j.Render(), (int)HTTP_STATUS_CODE::INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -129,8 +129,8 @@ void HttpServer::EventHandler(mg_connection* pNc, int ev, void* p)
|
||||
else // Client is not allowed, serve error json
|
||||
{
|
||||
Json j;
|
||||
j.CloneFrom(RestResponseTemplates::GetByCode(UNAUTHORIZED, denialReason));
|
||||
ServeStringToConnection(pNc, j.Render(), UNAUTHORIZED);
|
||||
j.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::UNAUTHORIZED, denialReason));
|
||||
ServeStringToConnection(pNc, j.Render(), (int)HTTP_STATUS_CODE::UNAUTHORIZED);
|
||||
}
|
||||
}
|
||||
|
||||
@ -158,13 +158,13 @@ void HttpServer::ProcessAPIRequest(mg_connection* pNc, int ev, void* p, std::str
|
||||
RestQueryHandler::ProcessQuery(peerAddress, requestBody, responseBody, returnCode);
|
||||
|
||||
Json response(responseBody);
|
||||
ServeStringToConnection(pNc, response.Render(), returnCode);
|
||||
ServeStringToConnection(pNc, response.Render(), (int)returnCode);
|
||||
}
|
||||
else // return error message for invalid json
|
||||
{
|
||||
Json errorJson;
|
||||
errorJson.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::BAD_REQUEST, "Received json is fucked"));
|
||||
ServeStringToConnection(pNc, errorJson.Render(), HTTP_STATUS_CODE::BAD_REQUEST);
|
||||
ServeStringToConnection(pNc, errorJson.Render(), (int)HTTP_STATUS_CODE::BAD_REQUEST);
|
||||
}
|
||||
|
||||
return;
|
||||
@ -189,15 +189,15 @@ void HttpServer::ServeDownloadeableResource(mg_connection* pNc, int ev, void* p,
|
||||
else
|
||||
{
|
||||
Json j;
|
||||
j.CloneFrom(RestResponseTemplates::GetByCode(BAD_REQUEST, "File download not ready!"));
|
||||
ServeStringToConnection(pNc, j.Render(), BAD_REQUEST);
|
||||
j.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::BAD_REQUEST, "File download not ready!"));
|
||||
ServeStringToConnection(pNc, j.Render(), (int)HTTP_STATUS_CODE::BAD_REQUEST);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Json j;
|
||||
j.CloneFrom(RestResponseTemplates::GetByCode(BAD_REQUEST, "Invalid tubio id!"));
|
||||
ServeStringToConnection(pNc, j.Render(), BAD_REQUEST);
|
||||
j.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::BAD_REQUEST, "Invalid tubio id!"));
|
||||
ServeStringToConnection(pNc, j.Render(), (int)HTTP_STATUS_CODE::BAD_REQUEST);
|
||||
}
|
||||
|
||||
return;
|
||||
|
@ -11,7 +11,7 @@ void Idler::Update()
|
||||
// Let the processor chill for a second.
|
||||
// This should reduce the idling-cpu load to near 0%
|
||||
#ifdef _WIN
|
||||
Sleep(SLEEP_TIME * 1e3); // Uses milliseconds
|
||||
Sleep((DWORD)(SLEEP_TIME * 1e3)); // Uses milliseconds
|
||||
#else
|
||||
usleep(SLEEP_TIME * 1e6); // Uses microseconds
|
||||
#endif
|
||||
|
@ -20,7 +20,7 @@ bool RestQueryHandler::ProcessQuery(const std::string clientAdress, const Json&
|
||||
|
||||
if (!ValidateField("request", JDType::STRING, request, responseBody))
|
||||
{
|
||||
responseCode = BAD_REQUEST;
|
||||
responseCode = HTTP_STATUS_CODE::BAD_REQUEST;
|
||||
return false;
|
||||
}
|
||||
JsonBlock requestBody = request.AsJson;
|
||||
@ -49,8 +49,8 @@ bool RestQueryHandler::ProcessQuery(const std::string clientAdress, const Json&
|
||||
|
||||
|
||||
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(NOT_FOUND, "The requested request was not found."));
|
||||
responseCode = NOT_FOUND;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::NOT_FOUND, "The requested request was not found."));
|
||||
responseCode = HTTP_STATUS_CODE::NOT_FOUND;
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -64,8 +64,8 @@ void RestQueryHandler::PostExit()
|
||||
|
||||
bool RestQueryHandler::Example_Foo(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
||||
{
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
responseBody.Set("message") = "Bar!";
|
||||
std::cout << "Bar!" << std::endl;
|
||||
return true;
|
||||
@ -76,7 +76,7 @@ bool RestQueryHandler::QueueDownload(const JsonBlock& request, JsonBlock& respon
|
||||
if ((!ValidateField("video_url", JDType::STRING, request, responseBody)) ||
|
||||
(!ValidateField("mode", JDType::STRING, request, responseBody)))
|
||||
{
|
||||
responseCode = BAD_REQUEST;
|
||||
responseCode = HTTP_STATUS_CODE::BAD_REQUEST;
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -87,8 +87,8 @@ bool RestQueryHandler::QueueDownload(const JsonBlock& request, JsonBlock& respon
|
||||
else if (modeParam == "audio") mode = DOWNLOAD_MODE::AUDIO;
|
||||
else
|
||||
{
|
||||
responseCode = BAD_REQUEST;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(BAD_REQUEST, "Parameter 'mode' is of wrong value. Should be either 'video' or 'audio'."));
|
||||
responseCode = HTTP_STATUS_CODE::BAD_REQUEST;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::BAD_REQUEST, "Parameter 'mode' is of wrong value. Should be either 'video' or 'audio'."));
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -97,8 +97,8 @@ bool RestQueryHandler::QueueDownload(const JsonBlock& request, JsonBlock& respon
|
||||
|
||||
std::string tubId = DownloadManager::QueueDownload(videoUrl, mode);
|
||||
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
responseBody.Set("message") = "Download queued!";
|
||||
responseBody.Set("queue_position") = (long long int)DownloadManager::GetQueueLength();
|
||||
responseBody.Set("tubio_id") = tubId;
|
||||
@ -135,8 +135,8 @@ bool RestQueryHandler::FetchSessionCache(const JsonBlock& request, JsonBlock& re
|
||||
max_num = request["max_num"].AsInt;
|
||||
}
|
||||
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
JsonArray cache = DownloadManager::GetAlltimeCacheAsJson(max_age, max_num);
|
||||
responseBody.Set("cache_size") = (long long int)cache.Size();
|
||||
responseBody.Set("cache") = cache;
|
||||
@ -148,8 +148,8 @@ bool RestQueryHandler::FetchAlltimeCache(const JsonBlock& request, JsonBlock& re
|
||||
//log->cout << "Asking for whole cache...";
|
||||
//log->Flush();
|
||||
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
JsonArray cache = DownloadManager::GetAlltimeCacheAsJson(-1, -1); // Get ALL the data
|
||||
responseBody.Set("cache_size") = (long long int)cache.Size();
|
||||
responseBody.Set("cache") = cache;
|
||||
@ -164,8 +164,8 @@ bool RestQueryHandler::ClearDownloadCache(const JsonBlock& request, JsonBlock& r
|
||||
|
||||
bool wait = !DownloadManager::ClearDownloadCache();
|
||||
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
|
||||
if (wait)
|
||||
{
|
||||
@ -187,8 +187,8 @@ bool RestQueryHandler::KillYourself(const JsonBlock& request, JsonBlock& respons
|
||||
log->cout << "Shutting down server upon client request...";
|
||||
log->Flush();
|
||||
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
responseBody.Set("message") = "Goodbye! :3";
|
||||
return true;
|
||||
}
|
||||
@ -201,15 +201,15 @@ bool RestQueryHandler::HideConsole(const JsonBlock& request, JsonBlock& response
|
||||
log->Flush();
|
||||
|
||||
bool didAnythingChange = ConsoleManager::HideConsole();
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
responseBody.Set("message") = (didAnythingChange) ? "Console is now hidden!" : "Console was already hidden!";
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
responseCode = NOT_IMPLEMENTED;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(NOT_IMPLEMENTED));
|
||||
responseCode = HTTP_STATUS_CODE::NOT_IMPLEMENTED;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::NOT_IMPLEMENTED));
|
||||
responseBody.Set("message") = "This feature is currently only supported on Windows! Make sure to compile with preprocessor directive _WIN!";
|
||||
return false;
|
||||
}
|
||||
@ -223,15 +223,15 @@ bool RestQueryHandler::ShowConsole(const JsonBlock& request, JsonBlock& response
|
||||
log->Flush();
|
||||
|
||||
bool didAnythingChange = ConsoleManager::ShowConsole();
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
responseBody.Set("message") = (didAnythingChange) ? "Console is now shown!" : "Console was already shown!";
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
responseCode = NOT_IMPLEMENTED;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(NOT_IMPLEMENTED));
|
||||
responseCode = HTTP_STATUS_CODE::NOT_IMPLEMENTED;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::NOT_IMPLEMENTED));
|
||||
responseBody.Set("message") = "This feature is currently only supported on Windows! Make sure to compile with preprocessor directive _WIN!";
|
||||
return false;
|
||||
}
|
||||
@ -254,8 +254,8 @@ bool RestQueryHandler::GetOSName(const JsonBlock& request, JsonBlock& responseBo
|
||||
#elif __unix || __unix__
|
||||
osName = "Unix";
|
||||
#endif
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
responseBody.Set("os_name") = osName;
|
||||
return true;
|
||||
}
|
||||
@ -265,8 +265,8 @@ bool RestQueryHandler::FetchSessionLogs(const JsonBlock& request, JsonBlock& res
|
||||
//log->cout << "Fetching session logs...";
|
||||
//log->Flush();
|
||||
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
JsonArray logs = LogHistory::GetCompleteLogHistoryAsJson(time(0) - XGControl::boot_time + 1, -1);
|
||||
responseBody.Set("logs_size") = (long long int)logs.Size();
|
||||
responseBody.Set("logs") = logs;
|
||||
@ -291,8 +291,8 @@ bool RestQueryHandler::FetchAlltimeLogs(const JsonBlock& request, JsonBlock& res
|
||||
max_num = request["max_num"].AsInt;
|
||||
}
|
||||
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
JsonArray logs = LogHistory::GetCompleteLogHistoryAsJson(max_age, max_num);
|
||||
responseBody.Set("logs_size") = (long long int)logs.Size();
|
||||
responseBody.Set("logs") = logs;
|
||||
@ -304,8 +304,8 @@ bool RestQueryHandler::GetDiskUsage(const JsonBlock& request, JsonBlock& respons
|
||||
log->cout << "Fetching disk usage...";
|
||||
log->Flush();
|
||||
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
|
||||
JsonBlock diskUsages;
|
||||
|
||||
@ -363,8 +363,8 @@ bool RestQueryHandler::GetDiskUsage(const JsonBlock& request, JsonBlock& respons
|
||||
|
||||
bool RestQueryHandler::ClearLogs(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
||||
{
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
responseBody.Set("message") = "The logs have been cleared.";
|
||||
|
||||
LogHistory::ClearLogHistory();
|
||||
@ -385,8 +385,8 @@ bool RestQueryHandler::UpdateYoutubeDL(const JsonBlock& request, JsonBlock& resp
|
||||
log->cout << " => OK!";
|
||||
log->Flush();
|
||||
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
responseBody.Set("message") = "Updated youtube-dl.exe successfully!";
|
||||
}
|
||||
else if (result == "not implemented")
|
||||
@ -395,8 +395,8 @@ bool RestQueryHandler::UpdateYoutubeDL(const JsonBlock& request, JsonBlock& resp
|
||||
log->Flush();
|
||||
|
||||
log->Flush();
|
||||
responseCode = NOT_IMPLEMENTED;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(NOT_IMPLEMENTED));
|
||||
responseCode = HTTP_STATUS_CODE::NOT_IMPLEMENTED;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::NOT_IMPLEMENTED));
|
||||
responseBody.Set("message") = "On linux you have to update youtube-dl yourself since it is a system-wide package handled by various package managers!";
|
||||
}
|
||||
else // Some other error
|
||||
@ -404,8 +404,8 @@ bool RestQueryHandler::UpdateYoutubeDL(const JsonBlock& request, JsonBlock& resp
|
||||
log->cout << " => urlmon error: " << result;
|
||||
log->Flush();
|
||||
|
||||
responseCode = INTERNAL_SERVER_ERROR;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(INTERNAL_SERVER_ERROR));
|
||||
responseCode = HTTP_STATUS_CODE::INTERNAL_SERVER_ERROR;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::INTERNAL_SERVER_ERROR));
|
||||
responseBody.Set("message") = "Unable do update youtube-dl.exe! See urlmon " + result;
|
||||
}
|
||||
|
||||
@ -416,7 +416,7 @@ bool RestQueryHandler::RemoveDownloadEntry(const JsonBlock& request, JsonBlock&
|
||||
{
|
||||
if (!ValidateField("id", JDType::STRING, request, responseBody))
|
||||
{
|
||||
responseCode = BAD_REQUEST;
|
||||
responseCode = HTTP_STATUS_CODE::BAD_REQUEST;
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -427,14 +427,14 @@ bool RestQueryHandler::RemoveDownloadEntry(const JsonBlock& request, JsonBlock&
|
||||
|
||||
if (didSucceed)
|
||||
{
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
responseBody.Set("message") = "Successfully removed.";
|
||||
}
|
||||
else
|
||||
{
|
||||
responseCode = BAD_REQUEST;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(BAD_REQUEST));
|
||||
responseCode = HTTP_STATUS_CODE::BAD_REQUEST;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::BAD_REQUEST));
|
||||
responseBody.Set("message") = "Failed.";
|
||||
}
|
||||
|
||||
@ -443,8 +443,8 @@ bool RestQueryHandler::RemoveDownloadEntry(const JsonBlock& request, JsonBlock&
|
||||
|
||||
bool RestQueryHandler::UpdateConfig(const JsonBlock& request, JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
||||
{
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
|
||||
JsonBlock dummy;
|
||||
if (ValidateField("config", JDType::JSON, request, dummy))
|
||||
@ -489,8 +489,8 @@ bool RestQueryHandler::ResetConfigDefaults(const JsonBlock& request, JsonBlock&
|
||||
else ConsoleManager::HideConsole();
|
||||
}
|
||||
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
responseBody.Set("message") = "Reset config to default...";
|
||||
responseBody.Set("config") = XGConfig::GetSavefileBuffer();
|
||||
return true;
|
||||
@ -498,8 +498,8 @@ bool RestQueryHandler::ResetConfigDefaults(const JsonBlock& request, JsonBlock&
|
||||
|
||||
bool Rest::RestQueryHandler::GetServerVersion(const JasonPP::JsonBlock& request, JasonPP::JsonBlock& responseBody, HTTP_STATUS_CODE& responseCode)
|
||||
{
|
||||
responseCode = OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(OK));
|
||||
responseCode = HTTP_STATUS_CODE::OK;
|
||||
responseBody.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::OK));
|
||||
responseBody.Set("server_version").SetFloatData(TUBIO_SERVER_VERSION);
|
||||
return true;
|
||||
}
|
||||
@ -516,7 +516,7 @@ bool RestQueryHandler::ValidateField(const std::string name, const JasonPP::JDTy
|
||||
{
|
||||
if (checkThat.GetDataType() != JDType::JSON)
|
||||
{
|
||||
putErrorResponseHere = RestResponseTemplates::GetByCode(BAD_REQUEST, "The request body must be a json struct! No json array or similar...");
|
||||
putErrorResponseHere = RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::BAD_REQUEST, "The request body must be a json struct! No json array or similar...");
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -538,12 +538,12 @@ bool RestQueryHandler::ValidateField(const std::string name, const JasonPP::JDTy
|
||||
ss << "Mandatory value \"" << name << "\" is of wrong type (" << JsonDataType2String(cached.GetDataType()) << ")" << std::endl;
|
||||
ss << "Should be of type " << JsonDataType2String(type) << "! (Integers can be casted to floats)";
|
||||
|
||||
putErrorResponseHere.CloneFrom(RestResponseTemplates::GetByCode(BAD_REQUEST, ss.str()));
|
||||
putErrorResponseHere.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::BAD_REQUEST, ss.str()));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
putErrorResponseHere.CloneFrom(RestResponseTemplates::GetByCode(BAD_REQUEST, std::string("Missing mandatory value '" + name + "'")));
|
||||
putErrorResponseHere.CloneFrom(RestResponseTemplates::GetByCode(HTTP_STATUS_CODE::BAD_REQUEST, std::string("Missing mandatory value '" + name + "'")));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
namespace Rest
|
||||
{
|
||||
enum HTTP_STATUS_CODE {
|
||||
enum class HTTP_STATUS_CODE {
|
||||
OK = 200,
|
||||
BAD_REQUEST = 400,
|
||||
UNAUTHORIZED = 401,
|
||||
|
@ -149,7 +149,12 @@
|
||||
<ItemGroup>
|
||||
<ClCompile Include="ConsoleManager.cpp" />
|
||||
<ClCompile Include="DownloadManager.cpp" />
|
||||
<ClCompile Include="external_dependencies\casenta\mongoose\mongoose.c" />
|
||||
<ClCompile Include="external_dependencies\casenta\mongoose\mongoose.c">
|
||||
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">TurnOffAllWarnings</WarningLevel>
|
||||
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">TurnOffAllWarnings</WarningLevel>
|
||||
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">TurnOffAllWarnings</WarningLevel>
|
||||
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">TurnOffAllWarnings</WarningLevel>
|
||||
</ClCompile>
|
||||
<ClCompile Include="external_dependencies\leonetienne\JasonPP\JasonPP.cpp" />
|
||||
<ClCompile Include="FileSystem.cpp" />
|
||||
<ClCompile Include="Framework.cpp" />
|
||||
|
@ -1,2 +1,2 @@
|
||||
#pragma once
|
||||
#define TUBIO_SERVER_VERSION (0.5)
|
||||
#define TUBIO_SERVER_VERSION (0.51)
|
||||
|
@ -74,7 +74,7 @@ void XGConfig::LoadFromJson(const JasonPP::JsonBlock& json)
|
||||
|
||||
if (IsJsonFieldValid(json, "logging.autosave_interval", JDType::INT))
|
||||
{
|
||||
logging.autosave_interval = json.ShorthandGet("logging.autosave_interval").AsInt;
|
||||
logging.autosave_interval = (uint32_t)json.ShorthandGet("logging.autosave_interval").AsInt;
|
||||
}
|
||||
|
||||
|
||||
@ -86,7 +86,7 @@ void XGConfig::LoadFromJson(const JasonPP::JsonBlock& json)
|
||||
|
||||
if (IsJsonFieldValid(json, "httpServer.polling_rate", JDType::INT))
|
||||
{
|
||||
httpServer.polling_rate = json.ShorthandGet("httpServer.polling_rate").AsInt;
|
||||
httpServer.polling_rate = (uint32_t)json.ShorthandGet("httpServer.polling_rate").AsInt;
|
||||
}
|
||||
|
||||
if (IsJsonFieldValid(json, "httpServer.rootdir", JDType::STRING))
|
||||
@ -102,7 +102,7 @@ void XGConfig::LoadFromJson(const JasonPP::JsonBlock& json)
|
||||
}
|
||||
if (IsJsonFieldValid(json, "downloader.num_threads", JDType::INT))
|
||||
{
|
||||
downloader.num_threads = json.ShorthandGet("downloader.num_threads").AsInt;
|
||||
downloader.num_threads = (uint32_t)json.ShorthandGet("downloader.num_threads").AsInt;
|
||||
}
|
||||
if (IsJsonFieldValid(json, "downloader.max_dlrate_per_thread", JDType::STRING))
|
||||
{
|
||||
|
@ -17,6 +17,13 @@
|
||||
* license, as set out in <https://www.cesanta.com/license>.
|
||||
*/
|
||||
|
||||
#ifdef _WIN
|
||||
#pragma warning disable warning-list // Not my (leonetienne) code, not my warnings
|
||||
#else
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wall"
|
||||
#endif
|
||||
|
||||
#include "mongoose.h"
|
||||
#ifdef MG_MODULE_LINES
|
||||
#line 1 "src/mg_internal.h"
|
||||
@ -16131,3 +16138,7 @@ unsigned int sleep(unsigned int seconds) {
|
||||
}
|
||||
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#ifndef _WIN
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
@ -27,5 +27,5 @@ g++ \
|
||||
\
|
||||
-lpthread \
|
||||
\
|
||||
-w \
|
||||
-Wall \
|
||||
-o ./tubio.out
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user