Skip to content

Commit

Permalink
Request PyPI-HTML from indexes (PEP 691)
Browse files Browse the repository at this point in the history
  • Loading branch information
EpicWink committed Aug 4, 2022
1 parent 27d06b5 commit 7cffb54
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions src/proxpi/_cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,9 @@ def _list_packages(self):
return

logger.info(f"Listing packages in index '{self._index_url_masked}'")
response = self.session.get(self.index_url)
response = self.session.get(
self.index_url, headers={"Accept": "application/vnd.pypi.simple.v1+html"}
)
response.raise_for_status()
tree = lxml.etree.parse(io.BytesIO(response.content), _html_parser)
self._index_t = time.monotonic()
Expand Down Expand Up @@ -203,13 +205,18 @@ def _list_files(self, package_name: str):
response = None
if time.monotonic() > (self._index_t or 0.0) + self.ttl:
url = urllib.parse.urljoin(self.index_url, package_name)
response = self.session.get(url)
response = self.session.get(
url, headers={"Accept": "application/vnd.pypi.simple.v1+html"}
)

if not response or not response.ok:
if package_name not in self.list_packages():
raise NotFound(package_name)
package_url = self._index[package_name]
url = urllib.parse.urljoin(self.index_url, package_url)
response = self.session.get(url)
response = self.session.get(
url, headers={"Accept": "application/vnd.pypi.simple.v1+html"}
)
response.raise_for_status()

package = Package(package_name, files={}, refreshed=time.monotonic())
Expand Down

0 comments on commit 7cffb54

Please sign in to comment.