Skip to content

Commit b2f288f

Browse files
committed
API client: don't retry on POST
POST isn't idempotent and can trigger some expensive operations several times (like sync_versions).
1 parent 7274123 commit b2f288f

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

readthedocs/api/v2/adapters.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from requests_toolbelt.adapters.host_header_ssl import HostHeaderSSLAdapter
21
from requests.adapters import HTTPAdapter
2+
from requests_toolbelt.adapters.host_header_ssl import HostHeaderSSLAdapter
33

44

55
class TimeoutAdapter:
@@ -10,8 +10,8 @@ class TimeoutAdapter:
1010
Allows us to not wait forever when querying our API internally from the
1111
builders and make the build fail faster if it goes wrong.
1212
13-
https://2.python-requests.org//en/master/user/advanced/#transport-adapters
14-
https://2.python-requests.org//en/master/user/advanced/#timeouts
13+
https://2.python-requests.org/page/user/advanced/#transport-adapters
14+
https://2.python-requests.org/page/user/advanced/#timeouts
1515
"""
1616

1717
def send(self, *args, **kwargs):

readthedocs/api/v2/client.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44

55
import requests
66
from django.conf import settings
7-
from requests.packages.urllib3.util.retry import Retry # noqa
87
from rest_framework.renderers import JSONRenderer
98
from slumber import API, serialize
9+
from urllib3.util.retry import Retry
1010

1111
from .adapters import TimeoutHostHeaderSSLAdapter, TimeoutHTTPAdapter
1212

13-
1413
log = logging.getLogger(__name__)
1514

1615

@@ -41,7 +40,7 @@ def setup_api():
4140
connect=3,
4241
status=3,
4342
backoff_factor=0.5, # 0.5, 1, 2 seconds
44-
method_whitelist=('GET', 'PUT', 'PATCH', 'POST'),
43+
method_whitelist=('GET', 'PUT', 'PATCH'),
4544
status_forcelist=(408, 413, 429, 500, 502, 503, 504),
4645
)
4746

0 commit comments

Comments
 (0)