diff --git a/esphome/components/web_server_idf/__init__.py b/esphome/components/web_server_idf/__init__.py index 74a9d657a6..c59f7fbc92 100644 --- a/esphome/components/web_server_idf/__init__.py +++ b/esphome/components/web_server_idf/__init__.py @@ -1,5 +1,6 @@ from esphome.components.esp32 import add_idf_sdkconfig_option import esphome.config_validation as cv +from esphome.core import CORE CODEOWNERS = ["@dentra"] @@ -12,3 +13,11 @@ CONFIG_SCHEMA = cv.All( async def to_code(config): # Increase the maximum supported size of headers section in HTTP request packet to be processed by the server add_idf_sdkconfig_option("CONFIG_HTTPD_MAX_REQ_HDR_LEN", 1024) + + +def FILTER_SOURCE_FILES() -> list[str]: + # multipart.cpp is fully #ifdef'd on USE_WEBSERVER_OTA (set by the + # web_server OTA platform); skip it when OTA uploads are not configured. + if not any(define.name == "USE_WEBSERVER_OTA" for define in CORE.defines): + return ["multipart.cpp"] + return []