2323
2424
2525Ota::Ota () {
26- {
27- Settings settings (" wifi" , false );
28- check_version_url_ = settings.GetString (" ota_url" );
29- if (check_version_url_.empty ()) {
30- check_version_url_ = CONFIG_OTA_URL;
31- }
32- }
33-
3426#ifdef ESP_EFUSE_BLOCK_USR_DATA
3527 // Read Serial Number from efuse user_data
3628 uint8_t serial_number[33 ] = {0 };
@@ -48,19 +40,20 @@ Ota::Ota() {
4840Ota::~Ota () {
4941}
5042
51- void Ota::SetHeader (const std::string& key, const std::string& value) {
52- headers_[key] = value;
43+ std::string Ota::GetCheckVersionUrl () {
44+ Settings settings (" wifi" , false );
45+ std::string url = settings.GetString (" ota_url" );
46+ if (url.empty ()) {
47+ url = CONFIG_OTA_URL;
48+ }
49+ return url;
5350}
5451
5552Http* Ota::SetupHttp () {
5653 auto & board = Board::GetInstance ();
5754 auto app_desc = esp_app_get_description ();
5855
5956 auto http = board.CreateHttp ();
60- for (const auto & header : headers_) {
61- http->SetHeader (header.first , header.second );
62- }
63-
6457 http->SetHeader (" Activation-Version" , has_serial_number_ ? " 2" : " 1" );
6558 http->SetHeader (" Device-Id" , SystemInfo::GetMacAddress ().c_str ());
6659 http->SetHeader (" Client-Id" , board.GetUuid ());
@@ -79,7 +72,8 @@ bool Ota::CheckVersion() {
7972 current_version_ = app_desc->version ;
8073 ESP_LOGI (TAG, " Current version: %s" , current_version_.c_str ());
8174
82- if (check_version_url_.length () < 10 ) {
75+ std::string url = GetCheckVersionUrl ();
76+ if (url.length () < 10 ) {
8377 ESP_LOGE (TAG, " Check version URL is not properly set" );
8478 return false ;
8579 }
@@ -90,7 +84,7 @@ bool Ota::CheckVersion() {
9084 std::string method = data.length () > 0 ? " POST" : " GET" ;
9185 http->SetContent (std::move (data));
9286
93- if (!http->Open (method, check_version_url_ )) {
87+ if (!http->Open (method, url )) {
9488 ESP_LOGE (TAG, " Failed to open HTTP connection" );
9589 return false ;
9690 }
@@ -431,7 +425,7 @@ esp_err_t Ota::Activate() {
431425 return ESP_FAIL;
432426 }
433427
434- std::string url = check_version_url_ ;
428+ std::string url = GetCheckVersionUrl () ;
435429 if (url.back () != ' /' ) {
436430 url += " /activate" ;
437431 } else {
0 commit comments