diff --git a/gui/Logger/JobSender.cpp b/gui/Logger/JobSender.cpp index e155191..75a0bfe 100644 --- a/gui/Logger/JobSender.cpp +++ b/gui/Logger/JobSender.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #ifdef _WIN32 #include #include @@ -170,6 +171,14 @@ std::string JobSender::generate_url(const std::string &endpoint) { return url; } +std::string JobSender::json_to_string(const Json::Value &json) { + Json::StreamWriterBuilder builder; + + builder["indentation"] = ""; + + return Json::writeString(builder, json); +} + bool JobSender::query_capabilities() { std::string url = generate_url("capabilities"); wxString response; @@ -214,7 +223,7 @@ bool JobSender::send_job() { job.Serialize(json); - long code = send_data(url, json.toStyledString().c_str(), response, error); + long code = send_data(url, json_to_string(json).c_str(), response, error); if (code != 200L) { auto event = new wxThreadEvent(wxEVT_COMMAND_THREAD, wxID_ABORT); event->SetString("API returned error code: " + std::to_string(code) + " " + error); @@ -247,7 +256,7 @@ void JobSender::send_truck() { json["speed"] = truck.speed; truck.position.Serialize(json); - send_data(url, json.toStyledString().c_str(), response, error); + send_data(url, json_to_string(json).c_str(), response, error); } void JobSender::send_fine() { @@ -268,7 +277,7 @@ void JobSender::send_fine() { fine.Serialize(json); - long code = send_data(url, json.toStyledString().c_str(), response, error); + long code = send_data(url, json_to_string(json).c_str(), response, error); if (code != 200L) { LockGuard lock(m_lock); m_fine_queue.push_front(fine); diff --git a/gui/Logger/JobSender.h b/gui/Logger/JobSender.h index 6157224..9f1a657 100644 --- a/gui/Logger/JobSender.h +++ b/gui/Logger/JobSender.h @@ -101,6 +101,14 @@ class JobSender : public wxThreadHelper { */ std::string generate_url(const std::string &endpoint); + /** + * Convert Json::Value @p json to string + * + * @param json - Json::Value to convert + * @return std::string + */ + static std::string json_to_string(const Json::Value &json); + /** * Query server of it's capabilities *