Fixed warnings

This commit is contained in:
Leonetienne 2021-03-03 19:08:06 +01:00
parent 0be0850bb0
commit 82cdbe7ba3
12 changed files with 121 additions and 86 deletions

View File

@ -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;

View File

@ -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();
};

View File

@ -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;

View File

@ -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

View File

@ -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;
}

View File

@ -3,7 +3,7 @@
namespace Rest
{
enum HTTP_STATUS_CODE {
enum class HTTP_STATUS_CODE {
OK = 200,
BAD_REQUEST = 400,
UNAUTHORIZED = 401,

View File

@ -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" />

View File

@ -1,2 +1,2 @@
#pragma once
#define TUBIO_SERVER_VERSION (0.5)
#define TUBIO_SERVER_VERSION (0.51)

View File

@ -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))
{

View File

@ -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

View File

@ -27,5 +27,5 @@ g++ \
\
-lpthread \
\
-w \
-Wall \
-o ./tubio.out

Binary file not shown.