[bug] Sia provider error responses are not being logged #30
This commit is contained in:
parent
c69818fed6
commit
5b5ac0937c
@ -69,6 +69,15 @@ auto sia_provider::create_directory_impl(const std::string &api_path,
|
|||||||
put_file.path = "/api/worker/objects" + api_path + "/";
|
put_file.path = "/api/worker/objects" + api_path + "/";
|
||||||
put_file.query["bucket"] = get_bucket(get_sia_config());
|
put_file.query["bucket"] = get_bucket(get_sia_config());
|
||||||
|
|
||||||
|
std::string error_data;
|
||||||
|
put_file.response_handler = [&error_data](auto &&data, long response_code) {
|
||||||
|
if (response_code == http_error_codes::ok) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
error_data = std::string(data.begin(), data.end());
|
||||||
|
};
|
||||||
|
|
||||||
long response_code{};
|
long response_code{};
|
||||||
stop_type stop_requested{};
|
stop_type stop_requested{};
|
||||||
if (not get_comm().make_request(put_file, response_code, stop_requested)) {
|
if (not get_comm().make_request(put_file, response_code, stop_requested)) {
|
||||||
@ -79,8 +88,9 @@ auto sia_provider::create_directory_impl(const std::string &api_path,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (response_code != http_error_codes::ok) {
|
if (response_code != http_error_codes::ok) {
|
||||||
utils::error::raise_api_path_error(function_name, api_path, response_code,
|
utils::error::raise_api_path_error(
|
||||||
"failed to create directory");
|
function_name, api_path, response_code,
|
||||||
|
fmt::format("failed to create directory|response|{}", error_data));
|
||||||
return api_error::comm_error;
|
return api_error::comm_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -290,11 +300,15 @@ auto sia_provider::get_object_info(const std::string &api_path,
|
|||||||
get.path = "/api/bus/objects" + api_path;
|
get.path = "/api/bus/objects" + api_path;
|
||||||
get.query["bucket"] = get_bucket(get_sia_config());
|
get.query["bucket"] = get_bucket(get_sia_config());
|
||||||
|
|
||||||
get.response_handler = [&object_info](const data_buffer &data,
|
std::string error_data;
|
||||||
long response_code) {
|
get.response_handler = [&error_data, &object_info](auto &&data,
|
||||||
|
long response_code) {
|
||||||
if (response_code == http_error_codes::ok) {
|
if (response_code == http_error_codes::ok) {
|
||||||
object_info = nlohmann::json::parse(data.begin(), data.end());
|
object_info = nlohmann::json::parse(data.begin(), data.end());
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
error_data = std::string(data.begin(), data.end());
|
||||||
};
|
};
|
||||||
|
|
||||||
long response_code{};
|
long response_code{};
|
||||||
@ -308,8 +322,9 @@ auto sia_provider::get_object_info(const std::string &api_path,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (response_code != http_error_codes::ok) {
|
if (response_code != http_error_codes::ok) {
|
||||||
utils::error::raise_api_path_error(function_name, api_path, response_code,
|
utils::error::raise_api_path_error(
|
||||||
"failed to get object info");
|
function_name, api_path, response_code,
|
||||||
|
fmt::format("failed to get object info|response|{}", error_data));
|
||||||
return api_error::comm_error;
|
return api_error::comm_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -331,11 +346,15 @@ auto sia_provider::get_object_list(const std::string &api_path,
|
|||||||
get.path = "/api/bus/objects" + api_path + "/";
|
get.path = "/api/bus/objects" + api_path + "/";
|
||||||
get.query["bucket"] = get_bucket(get_sia_config());
|
get.query["bucket"] = get_bucket(get_sia_config());
|
||||||
|
|
||||||
get.response_handler = [&object_list](const data_buffer &data,
|
std::string error_data;
|
||||||
long response_code) {
|
get.response_handler = [&error_data, &object_list](auto &&data,
|
||||||
|
long response_code) {
|
||||||
if (response_code == http_error_codes::ok) {
|
if (response_code == http_error_codes::ok) {
|
||||||
object_list = nlohmann::json::parse(data.begin(), data.end());
|
object_list = nlohmann::json::parse(data.begin(), data.end());
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
error_data = std::string(data.begin(), data.end());
|
||||||
};
|
};
|
||||||
|
|
||||||
long response_code{};
|
long response_code{};
|
||||||
@ -348,8 +367,9 @@ auto sia_provider::get_object_list(const std::string &api_path,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (response_code != http_error_codes::ok) {
|
if (response_code != http_error_codes::ok) {
|
||||||
utils::error::raise_api_path_error(function_name, api_path, response_code,
|
utils::error::raise_api_path_error(
|
||||||
"failed to get object list");
|
function_name, api_path, response_code,
|
||||||
|
fmt::format("failed to get object list|response|{}", error_data));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,12 +385,16 @@ auto sia_provider::get_total_drive_space() const -> std::uint64_t {
|
|||||||
get.path = "/api/autopilot/config";
|
get.path = "/api/autopilot/config";
|
||||||
get.query["bucket"] = get_bucket(get_sia_config());
|
get.query["bucket"] = get_bucket(get_sia_config());
|
||||||
|
|
||||||
json config_data{};
|
json config_data;
|
||||||
get.response_handler = [&config_data](const data_buffer &data,
|
std::string error_data;
|
||||||
long response_code) {
|
get.response_handler = [&error_data, &config_data](auto &&data,
|
||||||
|
long response_code) {
|
||||||
if (response_code == http_error_codes::ok) {
|
if (response_code == http_error_codes::ok) {
|
||||||
config_data = nlohmann::json::parse(data.begin(), data.end());
|
config_data = nlohmann::json::parse(data.begin(), data.end());
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
error_data = std::string(data.begin(), data.end());
|
||||||
};
|
};
|
||||||
|
|
||||||
long response_code{};
|
long response_code{};
|
||||||
@ -380,8 +404,10 @@ auto sia_provider::get_total_drive_space() const -> std::uint64_t {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (response_code != http_error_codes::ok) {
|
if (response_code != http_error_codes::ok) {
|
||||||
utils::error::raise_error(function_name, response_code,
|
utils::error::raise_api_path_error(
|
||||||
"failed to get total drive space");
|
function_name, api_path, response_code,
|
||||||
|
fmt::format("failed to get total drive space|response|{}",
|
||||||
|
error_data));
|
||||||
return 0U;
|
return 0U;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -466,12 +492,16 @@ auto sia_provider::is_online() const -> bool {
|
|||||||
get.path = "/api/bus/consensus/state";
|
get.path = "/api/bus/consensus/state";
|
||||||
get.query["bucket"] = get_bucket(get_sia_config());
|
get.query["bucket"] = get_bucket(get_sia_config());
|
||||||
|
|
||||||
json state_data{};
|
std::string error_data;
|
||||||
get.response_handler = [&state_data](const data_buffer &data,
|
json state_data;
|
||||||
long response_code) {
|
get.response_handler = [&error_data, &state_data](auto &&data,
|
||||||
|
long response_code) {
|
||||||
if (response_code == http_error_codes::ok) {
|
if (response_code == http_error_codes::ok) {
|
||||||
state_data = nlohmann::json::parse(data.begin(), data.end());
|
state_data = nlohmann::json::parse(data.begin(), data.end());
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
error_data = std::string(data.begin(), data.end());
|
||||||
};
|
};
|
||||||
|
|
||||||
long response_code{};
|
long response_code{};
|
||||||
@ -483,8 +513,10 @@ auto sia_provider::is_online() const -> bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (response_code != http_error_codes::ok) {
|
if (response_code != http_error_codes::ok) {
|
||||||
utils::error::raise_error(function_name, response_code,
|
utils::error::raise_api_path_error(
|
||||||
"failed to determine if provider is online");
|
function_name, api_path, response_code,
|
||||||
|
fmt::format("failed to determine if provider is online|response|{}",
|
||||||
|
error_data));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -510,8 +542,9 @@ auto sia_provider::read_file_bytes(const std::string &api_path,
|
|||||||
offset,
|
offset,
|
||||||
offset + size - 1U,
|
offset + size - 1U,
|
||||||
}};
|
}};
|
||||||
get.response_handler = [&buffer](const data_buffer &data,
|
get.response_handler = [&buffer](auto &&data, long /* response_code */) {
|
||||||
long /*response_code*/) { buffer = data; };
|
buffer = data;
|
||||||
|
};
|
||||||
|
|
||||||
auto res = api_error::comm_error;
|
auto res = api_error::comm_error;
|
||||||
for (std::uint32_t idx = 0U;
|
for (std::uint32_t idx = 0U;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user