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

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