retry resolve failure
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
BlockStorage/repertory/pipeline/pr-master This commit looks good

This commit is contained in:
2025-07-22 15:16:13 -05:00
parent d943b9f8db
commit 8b868f1e1a

View File

@@ -135,6 +135,8 @@ public:
long &response_code, stop_type &stop_requested) -> bool {
REPERTORY_USES_FUNCTION_NAME();
CURLcode curl_code{};
const auto do_request = [&]() -> bool {
if (request.decryption_token.has_value() &&
not request.decryption_token.value().empty()) {
return make_encrypted_request(cfg, request, response_code,
@@ -213,7 +215,7 @@ public:
multi_request curl_request(curl, stop_requested);
CURLcode curl_code{};
curl_code = CURLE_OK;
curl_request.get_result(curl_code, response_code);
if (header_list != nullptr) {
@@ -221,7 +223,8 @@ public:
}
if (curl_code != CURLE_OK) {
event_system::instance().raise<curl_error>(curl_code, function_name, url);
event_system::instance().raise<curl_error>(curl_code, function_name,
url);
return false;
}
@@ -230,6 +233,24 @@ public:
}
return true;
};
bool ret{false};
for (std::uint8_t retry = 0U; !ret && retry < 5U; ++retry) {
ret = do_request();
if (ret) {
continue;
}
if (curl_code == CURLE_COULDNT_RESOLVE_HOST) {
std::this_thread::sleep_for(1s);
continue;
}
return ret;
}
return ret;
}
public: