From 8cc7eb12ea0d2cd26be310c5b02e32ac6a47b5a9 Mon Sep 17 00:00:00 2001
From: Nicolas Dandrimont <nicolas@dandrimont.eu>
Date: Wed, 24 Jan 2024 16:48:54 +0100
Subject: [PATCH] loader: add option to skip certificate verification

This hooks into the right urllib3 and requests settings for both the
smart and dumb loader.
---
 swh/loader/git/loader.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/swh/loader/git/loader.py b/swh/loader/git/loader.py
index d4fa4881..5217edd9 100644
--- a/swh/loader/git/loader.py
+++ b/swh/loader/git/loader.py
@@ -182,6 +182,7 @@ class GitLoader(BaseGitLoader):
         temp_file_cutoff: int = 100 * 1024 * 1024,
         connect_timeout: float = 120,
         read_timeout: float = 60,
+        verify_certs: bool = True,
         urllib3_extra_kwargs: Dict[str, Any] = {},
         requests_extra_kwargs: Dict[str, Any] = {},
         **kwargs: Any,
@@ -216,6 +217,10 @@ class GitLoader(BaseGitLoader):
         self.requests_extra_kwargs = requests_extra_kwargs
         self.requests_extra_kwargs["timeout"] = (connect_timeout, read_timeout)
 
+        if not verify_certs:
+            self.urllib3_extra_kwargs["cert_reqs"] = "CERT_NONE"
+            self.requests_extra_kwargs["verify"] = False
+
     def fetch_pack_from_origin(
         self,
         origin_url: str,
-- 
GitLab