From 9dc9bf64ee38b771f60f2ebdabba43fc95076a25 Mon Sep 17 00:00:00 2001
From: Thulinma <jaron@vietors.com>
Date: Sat, 16 Mar 2024 03:18:10 +0100
Subject: [PATCH] Added X-Attempt header to HEAD and POST requests in
 Downloader

---
 lib/downloader.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/downloader.cpp b/lib/downloader.cpp
index 0c44dde8..cadfac21 100644
--- a/lib/downloader.cpp
+++ b/lib/downloader.cpp
@@ -181,6 +181,9 @@ namespace HTTP{
     size_t loop = 0;
     while (++loop <= retryCount){// loop while we are unsuccessful
       MEDIUM_MSG("Retrieving %s (%zu/%" PRIu32 ")", link.getUrl().c_str(), loop, retryCount);
+      char attemptNo[5];
+      snprintf(attemptNo, 5, "%zu", loop);
+      setHeader("X-Attempt", attemptNo);
       doRequest(link, "HEAD");
       if (!getSocket()){
         FAIL_MSG("Could not retrieve %s: %s", link.getUrl().c_str(), getSocket().getError().c_str());
@@ -424,6 +427,9 @@ namespace HTTP{
     while (++loop <= retryCount){// loop while we are unsuccessful
       MEDIUM_MSG("Posting to %s (%zu/%" PRIu32 ")", link.getUrl().c_str(), loop, retryCount);
       uint64_t prerequest = Util::getMicros();
+      char attemptNo[5];
+      snprintf(attemptNo, 5, "%zu", loop);
+      setHeader("X-Attempt", attemptNo);
       doRequest(link, "POST", 0, payloadLen);
       Socket::Connection & s = getSocket();
       if (payloadLen && payload){