update_engine: add new headers
Adding new headers requested by OEM partners. Add brackets to if
statements for consistent across UE codebase.
Bug: 355109876
Test: th
Change-Id: I2adc0866587d6b1f13a3dcba15396b900f45b74e
diff --git a/aosp/update_attempter_android.cc b/aosp/update_attempter_android.cc
index b5ec1e0..909ce59 100644
--- a/aosp/update_attempter_android.cc
+++ b/aosp/update_attempter_android.cc
@@ -381,11 +381,26 @@
#endif // _UE_SIDELOAD
}
// Setup extra headers.
- if (!headers[kPayloadPropertyAuthorization].empty())
+ if (!headers[kPayloadPropertyAuthorization].empty()) {
fetcher->SetHeader("Authorization", headers[kPayloadPropertyAuthorization]);
- if (!headers[kPayloadPropertyUserAgent].empty())
+ }
+ if (!headers[kPayloadPropertyUserAgent].empty()) {
fetcher->SetHeader("User-Agent", headers[kPayloadPropertyUserAgent]);
-
+ }
+ if (!headers[kPayloadPropertyHTTPExtras].empty()) {
+ auto entries =
+ android::base::Split(headers[kPayloadPropertyHTTPExtras], " ");
+ for (auto& entry : entries) {
+ auto parts = android::base::Split(entry, ":");
+ if (parts.size() != 2) {
+ LOG(ERROR)
+ << "HTTP headers are not in expected format. "
+ "headers[kPayloadPropertyHTTPExtras] = key1:val1 key2:val2";
+ continue;
+ }
+ fetcher->SetHeader(parts[0], parts[1]);
+ }
+ }
if (!headers[kPayloadPropertyNetworkProxy].empty()) {
LOG(INFO) << "Using proxy url from payload headers: "
<< headers[kPayloadPropertyNetworkProxy];