function setArchiveInfoHeaders(objMD) {
    const headers = {};

    if (objMD['x-amz-scal-transition-in-progress']) {
        headers['x-amz-scal-transition-in-progress'] = true;
        headers['x-amz-scal-transition-time'] = new Date(objMD['x-amz-scal-transition-time']).toUTCString();
    }

    if (objMD.archive) {
        headers['x-amz-scal-archive-info'] = JSON.stringify(objMD.archive.archiveInfo);

        if (objMD.archive.restoreRequestedAt) {
            headers['x-amz-scal-restore-requested-at'] = new Date(objMD.archive.restoreRequestedAt).toUTCString();
            headers['x-amz-scal-restore-requested-days'] = objMD.archive.restoreRequestedDays;
        }

        if (objMD.archive.restoreCompletedAt) {
            headers['x-amz-scal-restore-completed-at'] = new Date(objMD.archive.restoreCompletedAt).toUTCString();
            headers['x-amz-scal-restore-will-expire-at'] = new Date(objMD.archive.restoreWillExpireAt).toUTCString();
            headers['x-amz-scal-restore-etag'] = objMD['x-amz-restore']?.['content-md5'];
        }
    }

    // Always get the "real" storage class (even when STANDARD) in this case
    headers['x-amz-storage-class'] = objMD['x-amz-storage-class'] || objMD.dataStoreName;

    // Get the owner-id
    headers['x-amz-scal-owner-id'] = objMD['owner-id'];

    return headers;
}
set archiveInfo headers to target header object
@param {object} objMD - object metadata
@returns {object} headers - target header object