[BUG] MR approvals using impersonation of users throws 401
Marge bot performs MR approval by impersonating the users who have approved the MR before. This happens when GitLab removes/resets the approval upon rebasing. https://docs.gitlab.com/user/project/merge_requests/approvals/settings/#remove-all-approvals-when-commits-are-added-to-the-source-branch To perform the impersonation, it is necessary to pass [SUDO](https://docs.gitlab.com/api/rest/authentication/#sudo) header to the GitLab API. As part of the change from bare [http requests to python-gitlab](https://gitlab.com/marge-org/marge-bot/-/commit/8a3442a06eb2d0a7dfdd78263d871a0711c32ddf#810fcded4c6d774b0a81e484500354751844d40a_53_35) the headers where not passed to API call which results in 401 errors. This results in Marge bot itself approves the MR first and on the next approval it experiences a 401 Unauthorized. Reason being the SUDO headers are not passed, hence it is like Marge bot trying to approve the same MR again.
issue