This commit is contained in:
J. Nick Koston 2025-06-29 22:19:29 -05:00
parent 4082634e6d
commit 8563a5785f
No known key found for this signature in database
2 changed files with 3 additions and 7 deletions

View File

@ -177,10 +177,7 @@ void OTARequestHandler::handleRequest(AsyncWebServerRequest *request) {
}
#endif // USE_ARDUINO
#ifdef USE_ESP_IDF
// For ESP-IDF, we use direct send() instead of beginResponse()
// to ensure the response is sent immediately before the reboot.
// If ota_backend_ is nullptr and we got here, the update completed (either success or failure)
// We'll use ota_success_ flag set by handleUpload to determine the result
// Send response based on the OTA result
request->send(200, "text/plain", this->ota_success_ ? "Update Successful!" : "Update Failed!");
return;
#endif // USE_ESP_IDF

View File

@ -576,9 +576,6 @@ esp_err_t AsyncWebServer::handle_multipart_upload_(httpd_req_t *r, const char *c
return ESP_FAIL;
}
// Create reader on heap to reduce stack usage
auto reader = std::make_unique<MultipartReader>("--" + std::string(boundary_start, boundary_len));
AsyncWebServerRequest req(r);
AsyncWebHandler *handler = nullptr;
for (auto *h : this->handlers_) {
@ -597,6 +594,8 @@ esp_err_t AsyncWebServer::handle_multipart_upload_(httpd_req_t *r, const char *c
// Upload state
std::string filename;
size_t index = 0;
// Create reader on heap to reduce stack usage
auto reader = std::make_unique<MultipartReader>("--" + std::string(boundary_start, boundary_len));
// Configure callbacks
reader->set_data_callback([&](const uint8_t *data, size_t len) {