From 01f05da3aee0c0b1d8ba57c360835820f6fc9462 Mon Sep 17 00:00:00 2001 From: Shubham Kulkarni Date: Mon, 24 May 2021 11:41:50 +0530 Subject: [PATCH] esp_https_ota: Add check for HTTP error codes and corresponding error logs Closes: https://github.com/espressif/esp-idf/issues/7058 --- components/esp_http_client/include/esp_http_client.h | 1 + components/esp_https_ota/src/esp_https_ota.c | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/components/esp_http_client/include/esp_http_client.h b/components/esp_http_client/include/esp_http_client.h index 4884a74e0f..9d7b8b157b 100644 --- a/components/esp_http_client/include/esp_http_client.h +++ b/components/esp_http_client/include/esp_http_client.h @@ -151,6 +151,7 @@ typedef enum { HttpStatus_TemporaryRedirect = 307, /* 4xx - Client Error */ + HttpStatus_BadRequest = 400, HttpStatus_Unauthorized = 401, HttpStatus_Forbidden = 403, HttpStatus_NotFound = 404, diff --git a/components/esp_https_ota/src/esp_https_ota.c b/components/esp_https_ota/src/esp_https_ota.c index 6e06e7ccbe..8f9a15e109 100644 --- a/components/esp_https_ota/src/esp_https_ota.c +++ b/components/esp_https_ota/src/esp_https_ota.c @@ -73,8 +73,11 @@ static esp_err_t _http_handle_response_code(esp_http_client_handle_t http_client } else if(status_code == HttpStatus_NotFound || status_code == HttpStatus_Forbidden) { ESP_LOGE(TAG, "File not found(%d)", status_code); return ESP_FAIL; - } else if (status_code == HttpStatus_InternalError) { - ESP_LOGE(TAG, "Server error occurred(%d)", status_code); + } else if (status_code >= HttpStatus_BadRequest && status_code < HttpStatus_InternalError) { + ESP_LOGE(TAG, "Client error (%d)", status_code); + return ESP_FAIL; + } else if (status_code >= HttpStatus_InternalError) { + ESP_LOGE(TAG, "Server error (%d)", status_code); return ESP_FAIL; }