Skip to content

Commit 8cdee7c

Browse files
committed
Reuses session in default requester
1 parent e8b454e commit 8cdee7c

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

algoliasearch/http/requester.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,24 @@
11
import requests
22

33
from requests import Timeout, RequestException
4+
from requests.adapters import HTTPAdapter
5+
from requests.packages.urllib3.util import Retry
46

57
from algoliasearch.http.transporter import Response, Request
68

79

810
class Requester(object):
911

12+
def __init__(self):
13+
# type: () -> None
14+
15+
self.session = requests.Session() # type: ignore
16+
17+
# Ask urllib not to make retries on its own.
18+
self.session.mount(
19+
'https://', HTTPAdapter(max_retries=Retry(connect=0))
20+
)
21+
1022
def send(self, request):
1123
# type: (Request) -> Response
1224

@@ -25,8 +37,6 @@ def send(self, request):
2537
return Response(error_message=str(e), is_timed_out_error=True)
2638
except RequestException as e:
2739
return Response(error_message=str(e), is_network_error=True)
28-
finally:
29-
s.close()
3040

3141
return Response(
3242
response.status_code,

0 commit comments

Comments
 (0)