mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-07-29 20:42:01 +08:00
Send to connect: trying to extract server error message for nicer error dialog
This commit is contained in:
parent
510bb208cb
commit
0131b30f17
@ -46,6 +46,24 @@ std::string escape_path_by_element(const boost::filesystem::path& path)
|
|||||||
}
|
}
|
||||||
return ret_val;
|
return ret_val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boost::optional<std::string> get_error_message_from_response_body(const std::string& body)
|
||||||
|
{
|
||||||
|
boost::optional<std::string> message;
|
||||||
|
std::stringstream ss(body);
|
||||||
|
pt::ptree ptree;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
pt::read_json(ss, ptree);
|
||||||
|
message = ptree.get_optional<std::string>("message");
|
||||||
|
}
|
||||||
|
// ignore possible errors if body is not valid JSON
|
||||||
|
catch (std::exception&)
|
||||||
|
{}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PrusaConnectNew::PrusaConnectNew(DynamicPrintConfig *config)
|
PrusaConnectNew::PrusaConnectNew(DynamicPrintConfig *config)
|
||||||
@ -125,7 +143,9 @@ bool PrusaConnectNew::init_upload(PrintHostUpload upload_data, std::string& out)
|
|||||||
BOOST_LOG_TRIVIAL(error) << body;
|
BOOST_LOG_TRIVIAL(error) << body;
|
||||||
BOOST_LOG_TRIVIAL(error) << boost::format("%1%: Error registering file: %2%, HTTP %3%, body: `%4%`") % name % error % status % body;
|
BOOST_LOG_TRIVIAL(error) << boost::format("%1%: Error registering file: %2%, HTTP %3%, body: `%4%`") % name % error % status % body;
|
||||||
res = false;
|
res = false;
|
||||||
out = GUI::into_u8(format_error(body, error, status));
|
out = get_error_message_from_response_body(body).value_or_eval([&](){
|
||||||
|
return GUI::into_u8(format_error(body, error, status));
|
||||||
|
});
|
||||||
})
|
})
|
||||||
.perform_sync();
|
.perform_sync();
|
||||||
return res;
|
return res;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user