From e40b1402e44d512120e12e7ff97194adf5827a86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Ma=C5=82ecki?= Date: Sun, 5 May 2024 13:43:20 +0700 Subject: [PATCH] feat(http_server): add 413 Payload Too Large response While not useful for the HTTP parser itself, this is very useful for memory-limited consumers of the HTTP server API. Signed-off-by: Harshit Malpani --- components/esp_http_server/include/esp_http_server.h | 3 +++ components/esp_http_server/src/httpd_txrx.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/components/esp_http_server/include/esp_http_server.h b/components/esp_http_server/include/esp_http_server.h index b6975fac00..31eb942c1a 100644 --- a/components/esp_http_server/include/esp_http_server.h +++ b/components/esp_http_server/include/esp_http_server.h @@ -608,6 +608,9 @@ typedef enum { */ HTTPD_411_LENGTH_REQUIRED, + /* Incoming payload is too large */ + HTTPD_413_CONTENT_TOO_LARGE, + /* URI length greater than CONFIG_HTTPD_MAX_URI_LEN */ HTTPD_414_URI_TOO_LONG, diff --git a/components/esp_http_server/src/httpd_txrx.c b/components/esp_http_server/src/httpd_txrx.c index 85c40b1b33..ad5e8ed973 100644 --- a/components/esp_http_server/src/httpd_txrx.c +++ b/components/esp_http_server/src/httpd_txrx.c @@ -432,6 +432,10 @@ esp_err_t httpd_resp_send_err(httpd_req_t *req, httpd_err_code_t error, const ch status = "411 Length Required"; msg = "Client must specify Content-Length"; break; + case HTTPD_413_CONTENT_TOO_LARGE: + status = "413 Content Too Large"; + msg = "Content is too large"; + break; case HTTPD_431_REQ_HDR_FIELDS_TOO_LARGE: status = "431 Request Header Fields Too Large"; msg = "Header fields are too long";