[web_server_idf] Respect explicit HTTP header limit (#18657)

Co-authored-by: jeroen85 <26403565+jeroen85@users.noreply.github.com>
Co-authored-by: Jeroen Jansen <jeroen@Jeroens-MacBook-Air.local>
This commit is contained in:
Jeroen
2026-10-06 11:00:50 -04:00
committed by GitHub
co-authored by jeroen85 Jeroen Jansen
parent a69c648c6f
commit b63794b53c
4 changed files with 54 additions and 5 deletions
@@ -0,0 +1,32 @@
"""Tests for ESP-IDF web server sdkconfig defaults."""
from collections.abc import Callable
from esphome.components.esp32 import RawSdkconfigValue
from esphome.components.esp32.const import KEY_ESP32, KEY_SDKCONFIG_OPTIONS
from esphome.core import CORE
def test_web_server_idf_uses_default_header_limit(
generate_main: Callable[[str], str],
) -> None:
"""The web server retains its existing 1024-byte default."""
generate_main("tests/component_tests/web_server/web_server_no_auth.yaml")
assert (
CORE.data[KEY_ESP32][KEY_SDKCONFIG_OPTIONS]["CONFIG_HTTPD_MAX_REQ_HDR_LEN"]
== 1024
)
def test_web_server_idf_respects_explicit_header_limit(
generate_main: Callable[[str], str],
) -> None:
"""An explicit sdkconfig option takes precedence over the component default."""
generate_main(
"tests/component_tests/web_server/web_server_header_limit_override.yaml"
)
value = CORE.data[KEY_ESP32][KEY_SDKCONFIG_OPTIONS]["CONFIG_HTTPD_MAX_REQ_HDR_LEN"]
assert isinstance(value, RawSdkconfigValue)
assert value.value == "4096"
@@ -0,0 +1,16 @@
---
esphome:
name: test
esp32:
board: nodemcu-32s
framework:
type: esp-idf
sdkconfig_options:
CONFIG_HTTPD_MAX_REQ_HDR_LEN: "4096"
wifi:
ssid: MySSID
password: password1
web_server: