update
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit

This commit is contained in:
Scott E. Graves 2025-03-03 12:35:36 -06:00
parent 2ff16230d1
commit ce1a3c416c

View File

@ -144,7 +144,7 @@ void handlers::handle_get_mount(auto &&req, auto &&res) const {
auto prov = provider_type_from_string(req.get_param_value("type"));
auto lines = handlers::read_process(prov, req.get_param_value("name"), "-dc");
auto lines = launch_process(prov, req.get_param_value("name"), "-dc");
if (lines.at(0U) != "0") {
throw utils::error::create_exception(function_name, {
@ -238,7 +238,7 @@ void handlers::handle_get_mount_status(auto &&req, auto &&res) const {
});
}
auto lines = handlers::read_process(prov, name, "-status");
auto lines = launch_process(prov, name, "-status");
nlohmann::json result(
nlohmann::json::parse(utils::string::join(lines, '\n')).at(status_name));
@ -260,9 +260,9 @@ void handlers::handle_post_mount(auto &&req, auto &&res) const {
auto unmount = utils::string::to_bool(req.get_param_value("unmount"));
if (unmount) {
read_process(prov, name, "-unmount");
launch_process(prov, name, "-unmount");
} else {
read_process(prov, name, fmt::format(R"("{}")", location));
launch_process(prov, name, fmt::format(R"("{}")", location), true);
}
res.status = http_error_codes::ok;
@ -275,16 +275,16 @@ void handlers::handle_put_set_value_by_name(auto &&req, auto &&res) {
auto value = req.get_param_value("value");
#if defined(_WIN32)
read_process(prov, name, fmt::format(R"(-set {} "{}")", key, value));
launch_process(prov, name, fmt::format(R"(-set {} "{}")", key, value));
#else //! defined(_WIN32)
read_process(prov, name, fmt::format("-set {} '{}'", key, value));
launch_process(prov, name, fmt::format("-set {} '{}'", key, value));
#endif // defined(_WIN32)
res.status = http_error_codes::ok;
}
auto handlers::read_process(provider_type prov, std::string_view name,
std::string_view command) const
auto handlers::launch_process(provider_type prov, std::string_view name,
std::string_view command, bool background) const
-> std::vector<std::string> {
REPERTORY_USES_FUNCTION_NAME();
@ -319,6 +319,10 @@ auto handlers::read_process(provider_type prov, std::string_view name,
auto cmd_line =
fmt::format(R"({} {} {})", repertory_binary_, str_type, command);
if (background) {
return "";
}
auto *pipe = popen(cmd_line.c_str(), "r");
if (pipe == nullptr) {
throw utils::error::create_exception(function_name,