mirror of
https://github.com/BeamMP/BeamMP-Launcher.git
synced 2026-06-23 21:13:37 +00:00
fix download code, error checking
This commit is contained in:
+4
-22
@@ -118,35 +118,17 @@ std::string HTTP::Post(const std::string& IP, const std::string& Fields) {
|
|||||||
return Ret;
|
return Ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HTTP::ProgressBar(size_t c, size_t t) {
|
|
||||||
if (isDownload) {
|
|
||||||
static double last_progress, progress_bar_adv;
|
|
||||||
progress_bar_adv = round(c / double(t) * 25);
|
|
||||||
std::cout << "\r";
|
|
||||||
std::cout << "Progress : [ ";
|
|
||||||
std::cout << round(c / double(t) * 100);
|
|
||||||
std::cout << "% ] [";
|
|
||||||
int i;
|
|
||||||
for (i = 0; i <= progress_bar_adv; i++)
|
|
||||||
std::cout << "#";
|
|
||||||
for (i = 0; i < 25 - progress_bar_adv; i++)
|
|
||||||
std::cout << ".";
|
|
||||||
std::cout << "]";
|
|
||||||
last_progress = round(c / double(t) * 100);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool HTTP::Download(const std::string& IP, const std::string& Path) {
|
bool HTTP::Download(const std::string& IP, const std::string& Path) {
|
||||||
static std::mutex Lock;
|
static std::mutex Lock;
|
||||||
std::scoped_lock Guard(Lock);
|
std::scoped_lock Guard(Lock);
|
||||||
|
|
||||||
isDownload = true;
|
info("Downloading an update (this may take a while)");
|
||||||
std::string Ret = Get(IP);
|
std::string Ret = Get(IP);
|
||||||
isDownload = false;
|
|
||||||
|
|
||||||
if (Ret.empty())
|
if (Ret.empty()) {
|
||||||
|
error("Download failed");
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
std::ofstream File(Path, std::ios::binary);
|
std::ofstream File(Path, std::ios::binary);
|
||||||
if (File.is_open()) {
|
if (File.is_open()) {
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ std::string Login(const std::string& fields) {
|
|||||||
try {
|
try {
|
||||||
std::string Buffer = HTTP::Post("https://auth.beammp.com/userlogin", fields);
|
std::string Buffer = HTTP::Post("https://auth.beammp.com/userlogin", fields);
|
||||||
|
|
||||||
if (Buffer == "-1") {
|
if (Buffer.empty()) {
|
||||||
return GetFail("Failed to communicate with the auth system!");
|
return GetFail("Failed to communicate with the auth system!");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ void CheckLocalKey() {
|
|||||||
|
|
||||||
nlohmann::json d = nlohmann::json::parse(Buffer, nullptr, false);
|
nlohmann::json d = nlohmann::json::parse(Buffer, nullptr, false);
|
||||||
|
|
||||||
if (Buffer == "-1" || Buffer.at(0) != '{' || d.is_discarded()) {
|
if (Buffer.empty() || Buffer.at(0) != '{' || d.is_discarded()) {
|
||||||
error(Buffer);
|
error(Buffer);
|
||||||
info("Invalid answer from authentication servers.");
|
info("Invalid answer from authentication servers.");
|
||||||
UpdateKey(nullptr);
|
UpdateKey(nullptr);
|
||||||
|
|||||||
Reference in New Issue
Block a user