pass through pipfile index urls when creating https session so that keyring works

This commit is contained in:
Mark Adamson
2023-10-24 23:03:29 +01:00
committed by GitHub
parent 49a86af632
commit 7a0b4821df
2 changed files with 5 additions and 3 deletions
+2 -1
View File
@@ -239,10 +239,11 @@ class Project:
if self.sessions.get(source["name"]):
session = self.sessions[source["name"]]
else:
session = get_requests_session(
session = get_requests_session(
self.s.PIPENV_MAX_RETRIES,
source.get("verify_ssl", True),
cache_dir=self.s.PIPENV_CACHE_DIR,
source=source.get("url"),
)
self.sessions[source["name"]] = session
return session
+3 -2
View File
@@ -8,10 +8,11 @@ from pipenv.patched.pip._internal.network.download import PipSession
from pipenv.patched.pip._vendor.urllib3 import util as urllib3_util
def get_requests_session(max_retries=1, verify_ssl=True, cache_dir=USER_CACHE_DIR):
def get_requests_session(max_retries=1, verify_ssl=True, cache_dir=USER_CACHE_DIR, source=None):
"""Load requests lazily."""
pip_client_cert = os.environ.get("PIP_CLIENT_CERT")
requests_session = PipSession(cache=cache_dir, retries=max_retries)
index_urls = [source] if source else None
requests_session = PipSession(cache=cache_dir, retries=max_retries, index_urls=index_urls)
if pip_client_cert:
requests_session.cert = pip_client_cert
if verify_ssl is False: