Skip to content

Commit c226971

Browse files
chore: allow urllib3>=1.25.10 (#659)
Allow use of urllib3>=1.25.10. By default it will use urllib3>=2 as that is the latest version. But this will allow people to pin urllib3<2 and still use the latest version of requests and responses. Closes: #657
1 parent 78854ab commit c226971

File tree

4 files changed

+21
-5
lines changed

4 files changed

+21
-5
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ jobs:
3333
matrix:
3434
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
3535
requests-version: ['"requests>=2.0,<3.0"']
36+
urllib3-version: ['"urllib3<2"', '"urllib3>=2,<3.0"']
37+
3638

3739
steps:
3840
- uses: actions/checkout@v3
@@ -46,7 +48,7 @@ jobs:
4648
- name: Install dependencies
4749
run: |
4850
python -m pip install --upgrade pip
49-
pip install ${{ matrix.requests-version }}
51+
pip install ${{ matrix.requests-version }} ${{ matrix.urllib3-version }}
5052
make install-deps
5153
5254
- name: Run Pytest

CHANGES

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
0.23.3
2+
------
3+
4+
* Allow urllib3>=1.25.10
5+
6+
17
0.23.2
28
------
39

responses/tests/test_responses.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import pytest
1515
import requests
16+
import urllib3
1617
from requests.exceptions import ChunkedEncodingError
1718
from requests.exceptions import ConnectionError
1819
from requests.exceptions import HTTPError
@@ -1534,10 +1535,17 @@ def run():
15341535
headers={"Content-Length": "2"},
15351536
auto_calculate_content_length=True,
15361537
)
1537-
with pytest.raises(ChunkedEncodingError) as excinfo:
1538-
requests.get(url)
15391538

1540-
assert "IncompleteRead(4 bytes read, -2 more expected)" in str(excinfo.value)
1539+
if urllib3.__version__ < "2":
1540+
resp = requests.get(url)
1541+
assert_response(resp, "test")
1542+
assert resp.headers["Content-Length"] == "2"
1543+
else:
1544+
with pytest.raises(ChunkedEncodingError) as excinfo:
1545+
requests.get(url)
1546+
assert "IncompleteRead(4 bytes read, -2 more expected)" in str(
1547+
excinfo.value
1548+
)
15411549

15421550
run()
15431551
assert_reset()

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
install_requires = [
2020
"requests>=2.30.0,<3.0",
21-
"urllib3>=2.0.0,<3.0",
21+
"urllib3>=1.25.10,<3.0",
2222
"pyyaml",
2323
"types-PyYAML",
2424
"typing_extensions; python_version < '3.8'",

0 commit comments

Comments
 (0)