From 476412dff0e144b4f1d2a367a766aace155d145d Mon Sep 17 00:00:00 2001 From: George Busby <12039914+bazubii@users.noreply.github.com> Date: Thu, 29 Sep 2022 14:48:54 -0600 Subject: [PATCH] Create a new session for each request. Creating a session __init__ causes Http 104, connection reset errors. The session shouldn't be alive for that long. --- mixpanel/__init__.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mixpanel/__init__.py b/mixpanel/__init__.py index d93a1cb..4786434 100644 --- a/mixpanel/__init__.py +++ b/mixpanel/__init__.py @@ -567,13 +567,10 @@ def __init__(self, events_url=None, people_url=None, import_url=None, "status_forcelist": set(range(500, 600)), methods_arg: {"POST"}, } - adapter = requests.adapters.HTTPAdapter( + self._adapter = requests.adapters.HTTPAdapter( max_retries=urllib3.Retry(**retry_args), ) - self._session = requests.Session() - self._session.mount('http', adapter) - def send(self, endpoint, json_message, api_key=None, api_secret=None): """Immediately record an event or a profile update. @@ -611,8 +608,11 @@ def _write_request(self, request_url, json_message, api_key=None, api_secret=Non if api_secret is not None: basic_auth = HTTPBasicAuth(api_secret, '') + session = requests.Session() + session.mount('http', self._adapter) + try: - response = self._session.post( + response = session.post( request_url, data=params, auth=basic_auth,