Просмотр исходного кода

Merge pull request #4856 from bunnei/webservice-socket-error

web_service: web_backend: Handle socket errors with GenericRequest.
LC 5 лет назад
Родитель
Сommit
c20569ebdf
1 измененных файлов с 11 добавлено и 0 удалено
  1. 11 0
      src/web_service/web_backend.cpp

+ 11 - 0
src/web_service/web_backend.cpp

@@ -65,6 +65,17 @@ struct Client::Impl {
         if (cli == nullptr) {
         if (cli == nullptr) {
             cli = std::make_unique<httplib::Client>(host.c_str());
             cli = std::make_unique<httplib::Client>(host.c_str());
         }
         }
+
+        if (!cli->is_valid()) {
+            LOG_ERROR(WebService, "Client is invalid, skipping request!");
+            return {};
+        }
+
+        if (!cli->is_socket_open()) {
+            LOG_ERROR(WebService, "Failed to open socket, skipping request!");
+            return {};
+        }
+
         cli->set_connection_timeout(TIMEOUT_SECONDS);
         cli->set_connection_timeout(TIMEOUT_SECONDS);
         cli->set_read_timeout(TIMEOUT_SECONDS);
         cli->set_read_timeout(TIMEOUT_SECONDS);
         cli->set_write_timeout(TIMEOUT_SECONDS);
         cli->set_write_timeout(TIMEOUT_SECONDS);