esp_https_ota: fix bug where http_client_init_cb is called after esp_http_client_perform() instead of before.

Closes https://github.com/espressif/esp-idf/issues/9581
This commit is contained in:
Harshit Malpani 2022-09-01 12:04:40 +05:30
parent 4532e6e0b2
commit 30d81f76b4
No known key found for this signature in database
GPG Key ID: FF1193D150EF75C3

View File

@ -254,6 +254,14 @@ esp_err_t esp_https_ota_begin(const esp_https_ota_config_t *ota_config, esp_http
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 0x%x", err);
goto http_cleanup;
}
}
if (https_ota_handle->partial_http_download) {
esp_http_client_set_method(https_ota_handle->http_client, HTTP_METHOD_HEAD);
err = esp_http_client_perform(https_ota_handle->http_client);
@ -286,14 +294,6 @@ esp_err_t esp_https_ota_begin(const esp_https_ota_config_t *ota_config, esp_http
esp_http_client_set_method(https_ota_handle->http_client, HTTP_METHOD_GET);
}
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 0x%x", err);
goto http_cleanup;
}
}
err = _http_connect(https_ota_handle->http_client);
if (err != ESP_OK) {
ESP_LOGE(TAG, "Failed to establish HTTP connection");