Better upload and new dependencies.

This commit is contained in:
momo5502 2016-08-26 12:14:59 +02:00
parent 7f951dadbd
commit 0fd0f87981
8 changed files with 23 additions and 20 deletions

2
deps/fmt vendored

@ -1 +1 @@
Subproject commit d775a20fff0be6e087dd3a160e1b662606b9247e Subproject commit 2ae6bca488795929a0207d109e135751f10c53d9

2
deps/mongoose vendored

@ -1 +1 @@
Subproject commit 2deaf084e4dc0214be55b29f964c3d69bbdf6b21 Subproject commit b3fb21dacccfb08b046b73740eec52cd66e944de

2
deps/protobuf vendored

@ -1 +1 @@
Subproject commit b97a4a53cdd55be74c30badefeb132a091764f53 Subproject commit 3d9d1a1255583bac550f7bf94f3016e8c238fa5e

View File

@ -291,7 +291,6 @@ workspace "iw4x"
saneCopyToPath = string.gsub(_OPTIONS["copy-to"] .. "\\", "\\\\", "\\") saneCopyToPath = string.gsub(_OPTIONS["copy-to"] .. "\\", "\\\\", "\\")
postbuildcommands { postbuildcommands {
"if not exist \"" .. saneCopyToPath .. "\" mkdir \"" .. saneCopyToPath .. "\"", "if not exist \"" .. saneCopyToPath .. "\" mkdir \"" .. saneCopyToPath .. "\"",
"copy /y \"$(TargetDir)*.dll\" \"" .. saneCopyToPath .. "\"",
} }
if _OPTIONS["copy-pdb"] then if _OPTIONS["copy-pdb"] then
@ -299,6 +298,11 @@ workspace "iw4x"
"copy /y \"$(TargetDir)*.pdb\" \"" .. saneCopyToPath .. "\"", "copy /y \"$(TargetDir)*.pdb\" \"" .. saneCopyToPath .. "\"",
} }
end end
-- This has to be the last one, as otherwise VisualStudio will succeed building even if copying fails
postbuildcommands {
"copy /y \"$(TargetDir)*.dll\" \"" .. saneCopyToPath .. "\"",
}
end end
-- Specific configurations -- Specific configurations

View File

@ -11,12 +11,12 @@ namespace Components
{ {
bool Exception::UploadMinidump(std::string filename) bool Exception::UploadMinidump(std::string filename)
{ {
Utils::WebIO webio("Firefucks", UPLOAD_URL);
if (Utils::IO::FileExists(filename)) if (Utils::IO::FileExists(filename))
{ {
Utils::WebIO webio("Firefucks", "https://reich.io/upload.php");
std::string buffer = Utils::IO::ReadFile(filename); std::string buffer = Utils::IO::ReadFile(filename);
std::string result = webio.PostFile(buffer); std::string result = webio.PostFile("minidump.dmp", "files[]", buffer);
std::string errors; std::string errors;
json11::Json object = json11::Json::parse(result, errors); json11::Json object = json11::Json::parse(result, errors);

View File

@ -1,5 +1,3 @@
#define UPLOAD_URL "https://reich.io/upload.php"
namespace Components namespace Components
{ {
class Exception : public Component class Exception : public Component

View File

@ -134,24 +134,25 @@ namespace Utils
return body; return body;
} }
std::string WebIO::PostFile(std::string url, std::string data) std::string WebIO::PostFile(std::string url, std::string filename, std::string fieldname, std::string data)
{ {
WebIO::SetURL(url); WebIO::SetURL(url);
return WebIO::PostFile(data); return WebIO::PostFile(filename, fieldname, data);
} }
std::string WebIO::PostFile(std::string data) std::string WebIO::PostFile(std::string filename, std::string fieldname, std::string data)
{ {
WebIO::Params headers; WebIO::Params headers;
std::string boundary = "----WebKitFormBoundaryHoLVocRsBxs71fU6"; std::string boundary = "----FormBoundary" + Utils::Cryptography::SHA256::Compute(fmt::sprintf("%d", timeGetTime()));
headers["Content-Type"] = "multipart/form-data, boundary=" + boundary; headers["Content-Type"] = "multipart/form-data, boundary=" + boundary;
std::string body = "--" + boundary + "\r\n"; std::string body;
body += "Content-Disposition: form-data; name=\"files[]\"; filename=\"minidump.dmp\"\r\n"; body.append("--" + boundary + "\r\n");
body += "Content-Type: application/octet-stream\r\n\r\n"; body.append("Content-Disposition: form-data; name=\"" + fieldname + "\"; filename=\"" + filename + "\"\r\n");
body += data + "\r\n"; body.append("Content-Type: application/octet-stream\r\n\r\n");
body += "--" + boundary + "--\r\n"; body.append(data + "\r\n");
body.append("--" + boundary + "--\r\n");
headers["Content-Length"] = fmt::sprintf("%u", body.size()); headers["Content-Length"] = fmt::sprintf("%u", body.size());

View File

@ -26,8 +26,8 @@ namespace Utils
void SetURL(std::string url); void SetURL(std::string url);
void SetCredentials(std::string username, std::string password); void SetCredentials(std::string username, std::string password);
std::string PostFile(std::string url, std::string data); std::string PostFile(std::string url, std::string filename, std::string fieldname, std::string data);
std::string PostFile(std::string data); std::string PostFile(std::string filename, std::string fieldname, std::string data);
std::string Post(std::string url, WebIO::Params params); std::string Post(std::string url, WebIO::Params params);
std::string Post(std::string url, std::string body); std::string Post(std::string url, std::string body);