Added new headers to upgrade request

This commit is contained in:
Gunnar Skjold 2024-04-13 10:19:08 +02:00
parent e080c7d535
commit 3b93897a8e
2 changed files with 16 additions and 1 deletions

View File

@ -142,6 +142,8 @@ private:
void redirectToMain();
void robotstxt();
void ssdpSchema();
void updaterRequestCallback(HTTPClient*);
};
#endif

View File

@ -1652,7 +1652,7 @@ void AmsWebServer::upgradeFromUrl(String url, String nextVersion) {
httpUpdate.rebootOnUpdate(false);
httpUpdate.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS);
HTTPUpdateResult ret = httpUpdate.update(client, url, currentVersion);
HTTPUpdateResult ret = httpUpdate.update(client, url, currentVersion, std::bind(&AmsWebServer::updaterRequestCallback, this, std::placeholders::_1));
int lastError = httpUpdate.getLastError();
config->setUpgradeInformation(ret, ret == HTTP_UPDATE_OK ? 0 : lastError, FirmwareVersion::VersionString, nextVersion.c_str());
@ -1672,6 +1672,19 @@ void AmsWebServer::upgradeFromUrl(String url, String nextVersion) {
}
}
void AmsWebServer::updaterRequestCallback(HTTPClient* http) {
SystemConfig sys;
if(config->getSystemConfig(sys)) {
http->addHeader(F("x-AMS-board-type"), String(sys.boardType, 10));
if(meterState->getMeterType() != AmsTypeAutodetect) {
http->addHeader(F("x-AMS-meter-mfg"), String(meterState->getMeterType(), 10));
}
if(!meterState->getMeterModel().isEmpty()) {
http->addHeader(F("x-AMS-meter-model"), meterState->getMeterModel());
}
}
}
void AmsWebServer::firmwareHtml() {
if(!checkSecurity(1))
return;