From 7912f5d45236bc7274e2941ab720243c268dd6eb Mon Sep 17 00:00:00 2001
From: Tim Orme <tim@sironamedical.com>
Date: Wed, 17 Jun 2020 14:27:01 -0700
Subject: [PATCH 1/3] Add log warning if auth fails when accessing repository

---
 poetry/repositories/legacy_repository.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/poetry/repositories/legacy_repository.py b/poetry/repositories/legacy_repository.py
index f850c29c85a..1a3036be20c 100644
--- a/poetry/repositories/legacy_repository.py
+++ b/poetry/repositories/legacy_repository.py
@@ -426,4 +426,8 @@ def _get(self, endpoint):  # type: (str) -> Union[Page, None]
         if response.status_code == 404:
             return
 
+        if response.status_code == 403:
+            self._log("Authorization error accessing {url}".format(url=url), level="warn")
+            return
+
         return Page(url, response.content, response.headers)

From 3c701fac310243433f3523e9688d545146fe6291 Mon Sep 17 00:00:00 2001
From: Tim Orme <tim@sironamedical.com>
Date: Wed, 17 Jun 2020 14:46:05 -0700
Subject: [PATCH 2/3] Fix black formatting

---
 poetry/repositories/legacy_repository.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/poetry/repositories/legacy_repository.py b/poetry/repositories/legacy_repository.py
index 1a3036be20c..9f7a54cc8bf 100644
--- a/poetry/repositories/legacy_repository.py
+++ b/poetry/repositories/legacy_repository.py
@@ -427,7 +427,9 @@ def _get(self, endpoint):  # type: (str) -> Union[Page, None]
             return
 
         if response.status_code == 403:
-            self._log("Authorization error accessing {url}".format(url=url), level="warn")
+            self._log(
+                "Authorization error accessing {url}".format(url=url), level="warn"
+            )
             return
 
         return Page(url, response.content, response.headers)

From b1cde6906f827df07a63e0bee6a6d0cc86acd183 Mon Sep 17 00:00:00 2001
From: Tim Orme <tim@sironamedical.com>
Date: Wed, 23 Sep 2020 17:43:16 -0700
Subject: [PATCH 3/3] Update authorization codes to include 401

This causes the error code handler to also check for 401 status as
well, since servers return 401 for different auth errors.
---
 poetry/repositories/legacy_repository.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/poetry/repositories/legacy_repository.py b/poetry/repositories/legacy_repository.py
index 9f7a54cc8bf..05c1974a3bf 100644
--- a/poetry/repositories/legacy_repository.py
+++ b/poetry/repositories/legacy_repository.py
@@ -426,7 +426,7 @@ def _get(self, endpoint):  # type: (str) -> Union[Page, None]
         if response.status_code == 404:
             return
 
-        if response.status_code == 403:
+        if response.status_code in (401, 403):
             self._log(
                 "Authorization error accessing {url}".format(url=url), level="warn"
             )