From 557f4e1296dd8d11fbd73eed28afac5d0f41c962 Mon Sep 17 00:00:00 2001 From: Julien Langlois Date: Tue, 4 Feb 2025 07:34:35 -0800 Subject: [PATCH 1/6] Create a hook for socketIO prepare_http_session The hook change the requests.session instance setting trust_env to False and therefore not using the system proxy settings --- python/tk_framework_adobe/rpc/communicator.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/python/tk_framework_adobe/rpc/communicator.py b/python/tk_framework_adobe/rpc/communicator.py index 1a6bbbf..7bfcc97 100644 --- a/python/tk_framework_adobe/rpc/communicator.py +++ b/python/tk_framework_adobe/rpc/communicator.py @@ -35,8 +35,8 @@ sys.path.insert(0, pkgs_zip_path) +import socketIO_client_nexus import socketIO_client_nexus.exceptions -from socketIO_client_nexus import SocketIO from .proxy import ProxyScope, ProxyWrapper, ClassInstanceProxyWrapper import sgtk @@ -47,6 +47,17 @@ from tank_vendor import six as sgutils +## Hook socketIO_client_nexus.prepare_http_session to disable Proxy +prepare_http_session_bak = socketIO_client_nexus.prepare_http_session + +def my_prepare_http_session(kw): + http_session = prepare_http_session_bak(kw) + http_session.trust_env = False + return http_session + +socketIO_client_nexus.prepare_http_session=my_prepare_http_session + + class Communicator(object): """ A communication manager that owns a socket.io client. The @@ -99,7 +110,7 @@ def __init__( self._event_processor = event_processor self._response_logging_silenced = False - self._io = SocketIO(host, port) + self._io = socketIO_client_nexus.SocketIO(host, port) self._io.on("return", self._handle_response) self._global_scope = None From bb0484efa00712733f153b992e4b91979fe40e03 Mon Sep 17 00:00:00 2001 From: Julien Langlois Date: Tue, 4 Feb 2025 09:59:03 -0800 Subject: [PATCH 2/6] Add env var to enable proxy --- python/tk_framework_adobe/rpc/communicator.py | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/python/tk_framework_adobe/rpc/communicator.py b/python/tk_framework_adobe/rpc/communicator.py index 7bfcc97..8e314b7 100644 --- a/python/tk_framework_adobe/rpc/communicator.py +++ b/python/tk_framework_adobe/rpc/communicator.py @@ -9,7 +9,7 @@ # not expressly granted therein are reserved by Shotgun Software Inc. import threading import sys -import os.path +import os import time import logging import contextlib @@ -46,16 +46,18 @@ except ImportError: from tank_vendor import six as sgutils +if os.environ.get("SGTK_ENFORE_PROXY_LOCALHOST", "0").lower() not in [ + "1", "y", "yes", +]: + # Hook socketIO_client_nexus.prepare_http_session to disable Proxy + prepare_http_session_bak = socketIO_client_nexus.prepare_http_session -## Hook socketIO_client_nexus.prepare_http_session to disable Proxy -prepare_http_session_bak = socketIO_client_nexus.prepare_http_session + def my_prepare_http_session(kw): + http_session = prepare_http_session_bak(kw) + http_session.trust_env = False + return http_session -def my_prepare_http_session(kw): - http_session = prepare_http_session_bak(kw) - http_session.trust_env = False - return http_session - -socketIO_client_nexus.prepare_http_session=my_prepare_http_session + socketIO_client_nexus.prepare_http_session = my_prepare_http_session class Communicator(object): @@ -110,7 +112,18 @@ def __init__( self._event_processor = event_processor self._response_logging_silenced = False + my_logger = sgtk.LogManager.get_logger(__name__) + my_logger.info("") + my_logger.info("") + my_logger.info("Create SocketIO client instance") + self._io = socketIO_client_nexus.SocketIO(host, port) + my_logger.info(f"Instance: {self._io}") + my_logger.info(f"_http_session: {self._io._http_session}") + + my_logger.info("") + my_logger.info("") + self._io.on("return", self._handle_response) self._global_scope = None From a385c86cb72a412d8098c7559024cb0afec1c5fb Mon Sep 17 00:00:00 2001 From: Julien Langlois Date: Tue, 4 Feb 2025 10:00:34 -0800 Subject: [PATCH 3/6] fixup! Add env var to enable proxy --- python/tk_framework_adobe/rpc/communicator.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/python/tk_framework_adobe/rpc/communicator.py b/python/tk_framework_adobe/rpc/communicator.py index 8e314b7..5955dd7 100644 --- a/python/tk_framework_adobe/rpc/communicator.py +++ b/python/tk_framework_adobe/rpc/communicator.py @@ -112,18 +112,7 @@ def __init__( self._event_processor = event_processor self._response_logging_silenced = False - my_logger = sgtk.LogManager.get_logger(__name__) - my_logger.info("") - my_logger.info("") - my_logger.info("Create SocketIO client instance") - self._io = socketIO_client_nexus.SocketIO(host, port) - my_logger.info(f"Instance: {self._io}") - my_logger.info(f"_http_session: {self._io._http_session}") - - my_logger.info("") - my_logger.info("") - self._io.on("return", self._handle_response) self._global_scope = None From 93be9b6dfb4fd1f414ed8233700c333cad670dca Mon Sep 17 00:00:00 2001 From: Julien Langlois Date: Tue, 4 Feb 2025 10:09:32 -0800 Subject: [PATCH 4/6] fixup! fixup! Add env var to enable proxy --- python/tk_framework_adobe/rpc/communicator.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python/tk_framework_adobe/rpc/communicator.py b/python/tk_framework_adobe/rpc/communicator.py index 5955dd7..a2cdcb6 100644 --- a/python/tk_framework_adobe/rpc/communicator.py +++ b/python/tk_framework_adobe/rpc/communicator.py @@ -46,8 +46,11 @@ except ImportError: from tank_vendor import six as sgutils -if os.environ.get("SGTK_ENFORE_PROXY_LOCALHOST", "0").lower() not in [ - "1", "y", "yes", +if os.environ.get("SGTK_ENFORE_PROXY_LOCALHOST", "0").strip().lower() not in [ + "1", + "true" + "y", + "yes", ]: # Hook socketIO_client_nexus.prepare_http_session to disable Proxy prepare_http_session_bak = socketIO_client_nexus.prepare_http_session From 92286d5e0c55472888276ea028c04c736a405305 Mon Sep 17 00:00:00 2001 From: Julien Langlois Date: Wed, 5 Feb 2025 13:54:04 -0800 Subject: [PATCH 5/6] fixup! fixup! fixup! Add env var to enable proxy --- python/tk_framework_adobe/rpc/communicator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tk_framework_adobe/rpc/communicator.py b/python/tk_framework_adobe/rpc/communicator.py index a2cdcb6..93a2c38 100644 --- a/python/tk_framework_adobe/rpc/communicator.py +++ b/python/tk_framework_adobe/rpc/communicator.py @@ -48,7 +48,7 @@ if os.environ.get("SGTK_ENFORE_PROXY_LOCALHOST", "0").strip().lower() not in [ "1", - "true" + "true", "y", "yes", ]: From 8120bb11e1cb295ebaf8dbd04324166f600c43cd Mon Sep 17 00:00:00 2001 From: Julien Langlois Date: Wed, 5 Feb 2025 13:54:38 -0800 Subject: [PATCH 6/6] fixup! fixup! fixup! fixup! Add env var to enable proxy --- python/tk_framework_adobe/rpc/communicator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tk_framework_adobe/rpc/communicator.py b/python/tk_framework_adobe/rpc/communicator.py index 93a2c38..b88b93e 100644 --- a/python/tk_framework_adobe/rpc/communicator.py +++ b/python/tk_framework_adobe/rpc/communicator.py @@ -46,7 +46,7 @@ except ImportError: from tank_vendor import six as sgutils -if os.environ.get("SGTK_ENFORE_PROXY_LOCALHOST", "0").strip().lower() not in [ +if os.environ.get("SGTK_ENFORCE_PROXY_LOCALHOST", "0").strip().lower() not in [ "1", "true", "y",