esp32_https_server
esp32_https_server copied to clipboard
Long requests dropped even when HTTPS_REQUEST_MAX_REQUEST_LENGTH is increased.
Describe the bug
Certain request are silently discarded regardless of the value of HTTPS_REQUEST_MAX_REQUEST_LENGTH
How To Reproduce Steps to reproduce the behavior:
- Use "setDefaultNode" to install a default handler.
- Navigate to "http://192.168.1.9///System%20Volume%20Information/config_wireless_template.gcode?hmac=48d3af6da674eeb8604a495a9ebfea83104bf3b28345da93594647d79a480b8b"
- With the default value of HTTPS_REQUEST_MAX_REQUEST_LENGTH of 128, the request is rejected with a "431 Request Header Fields Too Large" error
- If I increase HTTPS_REQUEST_MAX_REQUEST_LENGTH to 256, the request fails silently and the default handler never executes. The browser reports a connection reset.
- I can shorten the URL character by character until it begins to be processed again.
Expected Behavior It should be possible to adjust HTTPS_REQUEST_MAX_REQUEST_LENGTH to allow for longer requests.
Actual Behavior
If I increase HTTPS_REQUEST_MAX_REQUEST_LENGTH, it seems to stop the ESP32 from issuing a 431 status code, but causes it to drop the request.
ESP32 Module ESP32-CAM
- RAM/PSRAM: PSRAM enabled
- Flash Size: 4MB
- Other special properties:
Software (please complete the following information if applicable)
- IDE and Version: Arduino 1.9.0-beta
- OS: Windows
- Client used to access the server: Chrome
Additional context
I can probably work around this problem, but I thought I would report it.
So I found out that the normal way to do authentication is using a custom HTTP Authorization header. That works fine and shortens my URL considerably. So I no longer have a problem will long URLs, but will leave this open for now. Feel free to close if you don't feel it needs to be looked at.