From c4d16e9f79a8ba2ebd4ad8acd29eaecbc4f0e9ff Mon Sep 17 00:00:00 2001 From: Shubham Kulkarni Date: Fri, 21 Aug 2020 12:40:56 +0530 Subject: [PATCH] esp_https_ota: Add a feature to set custom headers to esp_https_ota request Closes: https://github.com/espressif/esp-idf/issues/3097 --- components/esp_https_ota/include/esp_https_ota.h | 2 ++ components/esp_https_ota/src/esp_https_ota.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/components/esp_https_ota/include/esp_https_ota.h b/components/esp_https_ota/include/esp_https_ota.h index 71183c194f..1afa44a73a 100644 --- a/components/esp_https_ota/include/esp_https_ota.h +++ b/components/esp_https_ota/include/esp_https_ota.h @@ -22,12 +22,14 @@ extern "C" { #endif typedef void *esp_https_ota_handle_t; +typedef esp_err_t(*http_client_init_cb_t)(esp_http_client_handle_t); /** * @brief ESP HTTPS OTA configuration */ typedef struct { const esp_http_client_config_t *http_config; /*!< ESP HTTP client configuration */ + http_client_init_cb_t http_client_init_cb; /*!< Callback after ESP HTTP client is initialised */ } esp_https_ota_config_t; #define ESP_ERR_HTTPS_OTA_BASE (0x9000) diff --git a/components/esp_https_ota/src/esp_https_ota.c b/components/esp_https_ota/src/esp_https_ota.c index f5a5150ff6..2559de7673 100644 --- a/components/esp_https_ota/src/esp_https_ota.c +++ b/components/esp_https_ota/src/esp_https_ota.c @@ -173,6 +173,14 @@ esp_err_t esp_https_ota_begin(esp_https_ota_config_t *ota_config, esp_https_ota_ goto failure; } + if (ota_config->http_client_init_cb) { + err = ota_config->http_client_init_cb(https_ota_handle->http_client); + if (err != ESP_OK) { + ESP_LOGE(TAG, "http_client_init_cb returned %d", err); + goto failure; + } + } + err = _http_connect(https_ota_handle->http_client); if (err != ESP_OK) { ESP_LOGE(TAG, "Failed to establish HTTP connection");