Skip to content

Commit

Permalink
Added urllib3 < 2.X compatibility for the Retry object
Browse files Browse the repository at this point in the history
Added matrix to test if it also works with urllib3 <2.x
  • Loading branch information
Marc-Antoine Hinse committed Oct 21, 2024
1 parent 4c583f3 commit ad57d69
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 11 deletions.
8 changes: 6 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,16 @@ jobs:
'3.11',
'3.12',
]
name: Python ${{ matrix.python-version }}
pip-override: [
'',
'pip install "urllib3<2"',
]
name: Python ${{ matrix.python-version }} ${{ matrix.pip-override }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- run: make test
- run: make test PIP_OVERRIDES='${{ matrix.pip-override }}'
- run: make lint
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ venv-tools: requirements.tools.txt
rm -rf venv-tools
python3 -m venv venv-tools
venv-tools/bin/pip install -r requirements.tools.txt
${PIP_OVERRIDES}

.PHONY: clean
clean:
Expand Down
23 changes: 14 additions & 9 deletions flareio/api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,23 @@ def _create_session() -> requests.Session:
),
)

retry = Retry(
total=5,
backoff_factor=2,
status_forcelist=[429, 502, 503, 504],
allowed_methods={"GET", "POST"},
)

# Support for urllib3 < 2.X
if hasattr(Retry, "backoff_max"):
retry.backoff_max = 15

retry.backoff_max = 15

# Enable retries
session.mount(
"https://",
HTTPAdapter(
max_retries=Retry(
total=5,
backoff_factor=2,
status_forcelist=[429, 502, 503, 504],
allowed_methods={"GET", "POST"},
backoff_max=15,
)
),
HTTPAdapter(max_retries=retry),
)

return session
Expand Down

0 comments on commit ad57d69

Please sign in to comment.