This commit is contained in:
J. Nick Koston 2025-06-29 22:27:36 -05:00
parent 727161f1db
commit 9f1fae0955
No known key found for this signature in database
2 changed files with 8 additions and 8 deletions

View File

@ -63,6 +63,7 @@ void WebServerBase::add_handler(AsyncWebHandler *handler) {
} }
} }
#ifdef USE_WEBSERVER_OTA
void report_ota_error() { void report_ota_error() {
#ifdef USE_ARDUINO #ifdef USE_ARDUINO
StreamString ss; StreamString ss;
@ -70,10 +71,8 @@ void report_ota_error() {
ESP_LOGW(TAG, "OTA Update failed! Error: %s", ss.c_str()); ESP_LOGW(TAG, "OTA Update failed! Error: %s", ss.c_str());
#endif #endif
} }
void OTARequestHandler::handleUpload(AsyncWebServerRequest *request, const String &filename, size_t index, void OTARequestHandler::handleUpload(AsyncWebServerRequest *request, const String &filename, size_t index,
uint8_t *data, size_t len, bool final) { uint8_t *data, size_t len, bool final) {
#ifdef USE_WEBSERVER_OTA
#ifdef USE_ARDUINO #ifdef USE_ARDUINO
bool success; bool success;
if (index == 0) { if (index == 0) {
@ -160,10 +159,9 @@ void OTARequestHandler::handleUpload(AsyncWebServerRequest *request, const Strin
this->ota_backend_ = nullptr; this->ota_backend_ = nullptr;
} }
#endif // USE_ESP_IDF #endif // USE_ESP_IDF
#endif // USE_WEBSERVER_OTA
} }
void OTARequestHandler::handleRequest(AsyncWebServerRequest *request) { void OTARequestHandler::handleRequest(AsyncWebServerRequest *request) {
#ifdef USE_WEBSERVER_OTA
ESP_LOGV(TAG, "OTA handleRequest called"); ESP_LOGV(TAG, "OTA handleRequest called");
AsyncWebServerResponse *response; AsyncWebServerResponse *response;
#ifdef USE_ARDUINO #ifdef USE_ARDUINO
@ -183,8 +181,8 @@ void OTARequestHandler::handleRequest(AsyncWebServerRequest *request) {
#endif // USE_ESP_IDF #endif // USE_ESP_IDF
response->addHeader("Connection", "close"); response->addHeader("Connection", "close");
request->send(response); request->send(response);
#endif // USE_WEBSERVER_OTA
} }
#endif // USE_WEBSERVER_OTA
#ifdef USE_WEBSERVER_OTA #ifdef USE_WEBSERVER_OTA
void WebServerBase::add_ota_handler() { void WebServerBase::add_ota_handler() {

View File

@ -118,7 +118,9 @@ class WebServerBase : public Component {
uint16_t get_port() const { return port_; } uint16_t get_port() const { return port_; }
protected: protected:
#ifdef USE_WEBSERVER_OTA
friend class OTARequestHandler; friend class OTARequestHandler;
#endif
int initialized_{0}; int initialized_{0};
uint16_t port_{80}; uint16_t port_{80};
@ -127,6 +129,7 @@ class WebServerBase : public Component {
internal::Credentials credentials_; internal::Credentials credentials_;
}; };
#ifdef USE_WEBSERVER_OTA
class OTARequestHandler : public AsyncWebHandler { class OTARequestHandler : public AsyncWebHandler {
public: public:
OTARequestHandler(WebServerBase *parent) : parent_(parent) {} OTARequestHandler(WebServerBase *parent) : parent_(parent) {}
@ -141,22 +144,21 @@ class OTARequestHandler : public AsyncWebHandler {
bool isRequestHandlerTrivial() const override { return false; } bool isRequestHandlerTrivial() const override { return false; }
protected: protected:
#ifdef USE_WEBSERVER_OTA
void report_ota_progress_(AsyncWebServerRequest *request); void report_ota_progress_(AsyncWebServerRequest *request);
void schedule_ota_reboot_(); void schedule_ota_reboot_();
void ota_init_(const char *filename); void ota_init_(const char *filename);
uint32_t last_ota_progress_{0}; uint32_t last_ota_progress_{0};
uint32_t ota_read_length_{0}; uint32_t ota_read_length_{0};
#endif
WebServerBase *parent_; WebServerBase *parent_;
private: private:
#if defined(USE_ESP_IDF) && defined(USE_WEBSERVER_OTA) #ifdef USE_ESP_IDF
void *ota_backend_{nullptr}; void *ota_backend_{nullptr};
bool ota_success_{false}; bool ota_success_{false};
#endif #endif
}; };
#endif // USE_WEBSERVER_OTA
} // namespace web_server_base } // namespace web_server_base
} // namespace esphome } // namespace esphome