// Минимальный HTTP-клиент для исходящих запросов к модулю (local_reg). // Один запрос — одно соединение; достаточно для keep-alive-цикла протокола // (проверено на приборе: модуль принимает local_reg на новых соединениях). #pragma once #include #include namespace fgl::ayla { struct HttpcRequest { const char* method = "PUT"; // "POST" | "PUT" const char* host = nullptr; // dotted-quad или DNS-имя uint16_t port = 80; const char* path = "/local_reg.json"; const char* query = nullptr; // без '?', может быть nullptr const char* content_type = "application/json"; const uint8_t* body = nullptr; size_t body_len = 0; uint32_t timeout_ms = 10000; }; struct HttpcResponse { int status = 0; // HTTP-код или 0 при ошибке транспорта bool transport_ok = false; }; // Выполняет запрос блокирующе. Тело ответа не читается (у local_reg оно // пусто), но соединение закрывается корректно (shutdown перед close). bool httpc_perform(const HttpcRequest& req, HttpcResponse* resp); } // namespace fgl::ayla