|
2 | 2 | import urllib.parse
|
3 | 3 |
|
4 | 4 | import gunicorn.http.errors
|
5 |
| -import requests |
6 | 5 | import sentry_sdk
|
7 | 6 |
|
8 | 7 | from flask import Flask, Response, abort, redirect, render_template, request, url_for
|
|
13 | 12 | from .deob import decompile, disassemble
|
14 | 13 | from .distribution import _get_dist
|
15 | 14 | from .legacy import parse
|
16 |
| -from .utilities import pypi_report_form |
| 15 | +from .utilities import pypi_report_form, requests_session |
17 | 16 |
|
18 | 17 |
|
19 | 18 | def traces_sampler(sampling_context):
|
@@ -62,7 +61,7 @@ def versions(project_name):
|
62 | 61 | url_for("versions", project_name=canonicalize_name(project_name)), 301
|
63 | 62 | )
|
64 | 63 |
|
65 |
| - resp = requests.get(f"https://pypi.org/pypi/{project_name}/json") |
| 64 | + resp = requests_session().get(f"https://pypi.org/pypi/{project_name}/json") |
66 | 65 | pypi_project_url = f"https://pypi.org/project/{project_name}"
|
67 | 66 |
|
68 | 67 | # Self-host 404 page to mitigate iframe embeds
|
@@ -99,7 +98,9 @@ def distributions(project_name, version):
|
99 | 98 | 301,
|
100 | 99 | )
|
101 | 100 |
|
102 |
| - resp = requests.get(f"https://pypi.org/pypi/{project_name}/{version}/json") |
| 101 | + resp = requests_session().get( |
| 102 | + f"https://pypi.org/pypi/{project_name}/{version}/json" |
| 103 | + ) |
103 | 104 | if resp.status_code != 200:
|
104 | 105 | return redirect(f"/project/{project_name}/")
|
105 | 106 |
|
@@ -142,12 +143,14 @@ def distribution(project_name, version, first, second, rest, distname):
|
142 | 143 | dist = _get_dist(first, second, rest, distname)
|
143 | 144 |
|
144 | 145 | h2_paren = "View this project on PyPI"
|
145 |
| - resp = requests.get(f"https://pypi.org/pypi/{project_name}/json") |
| 146 | + resp = requests_session().get(f"https://pypi.org/pypi/{project_name}/json") |
146 | 147 | if resp.status_code == 404:
|
147 | 148 | h2_paren = "❌ Project no longer on PyPI"
|
148 | 149 |
|
149 | 150 | h3_paren = "View this release on PyPI"
|
150 |
| - resp = requests.get(f"https://pypi.org/pypi/{project_name}/{version}/json") |
| 151 | + resp = requests_session().get( |
| 152 | + f"https://pypi.org/pypi/{project_name}/{version}/json" |
| 153 | + ) |
151 | 154 | if resp.status_code == 404:
|
152 | 155 | h3_paren = "❌ Release no longer on PyPI"
|
153 | 156 |
|
@@ -193,12 +196,14 @@ def file(project_name, version, first, second, rest, distname, filepath):
|
193 | 196 | )
|
194 | 197 |
|
195 | 198 | h2_paren = "View this project on PyPI"
|
196 |
| - resp = requests.get(f"https://pypi.org/pypi/{project_name}/json") |
| 199 | + resp = requests_session().get(f"https://pypi.org/pypi/{project_name}/json") |
197 | 200 | if resp.status_code == 404:
|
198 | 201 | h2_paren = "❌ Project no longer on PyPI"
|
199 | 202 |
|
200 | 203 | h3_paren = "View this release on PyPI"
|
201 |
| - resp = requests.get(f"https://pypi.org/pypi/{project_name}/{version}/json") |
| 204 | + resp = requests_session().get( |
| 205 | + f"https://pypi.org/pypi/{project_name}/{version}/json" |
| 206 | + ) |
202 | 207 | if resp.status_code == 404:
|
203 | 208 | h3_paren = "❌ Release no longer on PyPI"
|
204 | 209 |
|
|
0 commit comments