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"] .. "\\", "\\\\", "\\")
postbuildcommands {
"if not exist \"" .. saneCopyToPath .. "\" mkdir \"" .. saneCopyToPath .. "\"",
"copy /y \"$(TargetDir)*.dll\" \"" .. saneCopyToPath .. "\"",
}
if _OPTIONS["copy-pdb"] then
@ -299,6 +298,11 @@ workspace "iw4x"
"copy /y \"$(TargetDir)*.pdb\" \"" .. saneCopyToPath .. "\"",
}
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
-- Specific configurations

View File

@ -11,12 +11,12 @@ namespace Components
{
bool Exception::UploadMinidump(std::string filename)
{
Utils::WebIO webio("Firefucks", UPLOAD_URL);
if (Utils::IO::FileExists(filename))
{
Utils::WebIO webio("Firefucks", "https://reich.io/upload.php");
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;
json11::Json object = json11::Json::parse(result, errors);

View File

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

View File

@ -134,24 +134,25 @@ namespace Utils
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);
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;
std::string boundary = "----WebKitFormBoundaryHoLVocRsBxs71fU6";
std::string boundary = "----FormBoundary" + Utils::Cryptography::SHA256::Compute(fmt::sprintf("%d", timeGetTime()));
headers["Content-Type"] = "multipart/form-data, boundary=" + boundary;
std::string body = "--" + boundary + "\r\n";
body += "Content-Disposition: form-data; name=\"files[]\"; filename=\"minidump.dmp\"\r\n";
body += "Content-Type: application/octet-stream\r\n\r\n";
body += data + "\r\n";
body += "--" + boundary + "--\r\n";
std::string body;
body.append("--" + boundary + "\r\n");
body.append("Content-Disposition: form-data; name=\"" + fieldname + "\"; filename=\"" + filename + "\"\r\n");
body.append("Content-Type: application/octet-stream\r\n\r\n");
body.append(data + "\r\n");
body.append("--" + boundary + "--\r\n");
headers["Content-Length"] = fmt::sprintf("%u", body.size());

View File

@ -26,8 +26,8 @@ namespace Utils
void SetURL(std::string url);
void SetCredentials(std::string username, std::string password);
std::string PostFile(std::string url, std::string data);
std::string PostFile(std::string data);
std::string PostFile(std::string url, std::string filename, std::string fieldname, 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, std::string body);