From 76584561d14edce4aab19c33cbc309ca4afa3030 Mon Sep 17 00:00:00 2001 From: Guilhem Allaman Date: Thu, 19 Mar 2026 06:46:43 +0100 Subject: [PATCH 1/3] feat: merge session's environment settings before sending request This allow especially to use the `REQUESTS_CA_BUNDLE` env variable, which was overriden by `verify_ssl` --- qfieldcloud_sdk/sdk.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/qfieldcloud_sdk/sdk.py b/qfieldcloud_sdk/sdk.py index 103e4fb..328d46f 100644 --- a/qfieldcloud_sdk/sdk.py +++ b/qfieldcloud_sdk/sdk.py @@ -1937,8 +1937,6 @@ def _request( request = QfcRequest(**request_params) session_params = { - "stream": stream, - "verify": self.verify_ssl, # redirects from POST requests automagically turn into GET requests, so better forbid redirects "allow_redirects": allow_redirects, } @@ -1946,7 +1944,13 @@ def _request( if os.environ.get("ENVIRONMENT") == "test": return request.mock_response() else: - response = self.session.send(request.prepare(), **session_params) + prepped = self.session.prepare_request(request) + + # Merge environment settings into session + settings = self.session.merge_environment_settings(prepped.url, {}, stream, self.verify_ssl, None) + settings = settings | session_params + + response = self.session.send(request.prepare(), **settings) try: response.raise_for_status() From e38ea28242a744b11898ed1a57ff025e841a1fb3 Mon Sep 17 00:00:00 2001 From: Guilhem Allaman Date: Thu, 19 Mar 2026 15:08:24 +0100 Subject: [PATCH 2/3] fix: format and check code with pre-commit hooks --- qfieldcloud_sdk/sdk.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/qfieldcloud_sdk/sdk.py b/qfieldcloud_sdk/sdk.py index 328d46f..7a4e329 100644 --- a/qfieldcloud_sdk/sdk.py +++ b/qfieldcloud_sdk/sdk.py @@ -1947,8 +1947,10 @@ def _request( prepped = self.session.prepare_request(request) # Merge environment settings into session - settings = self.session.merge_environment_settings(prepped.url, {}, stream, self.verify_ssl, None) - settings = settings | session_params + settings = self.session.merge_environment_settings( + prepped.url, {}, stream, self.verify_ssl, None + ) + settings = settings | session_params # type: ignore response = self.session.send(request.prepare(), **settings) From ddabbfc3cb18fdfb904a9a53cb88e3959a363729 Mon Sep 17 00:00:00 2001 From: Guilhem Allaman Date: Sun, 29 Mar 2026 12:21:53 +0200 Subject: [PATCH 3/3] fix: use named parameters during merging func call --- qfieldcloud_sdk/sdk.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/qfieldcloud_sdk/sdk.py b/qfieldcloud_sdk/sdk.py index 7a4e329..afb7e85 100644 --- a/qfieldcloud_sdk/sdk.py +++ b/qfieldcloud_sdk/sdk.py @@ -1944,11 +1944,15 @@ def _request( if os.environ.get("ENVIRONMENT") == "test": return request.mock_response() else: - prepped = self.session.prepare_request(request) + prepared_request = self.session.prepare_request(request) # Merge environment settings into session settings = self.session.merge_environment_settings( - prepped.url, {}, stream, self.verify_ssl, None + url=prepared_request.url, + proxies={}, + stream=stream, + verify=self.verify_ssl, + cert=None, ) settings = settings | session_params # type: ignore