From 1990fb9f09fef6a0b3081bb9eacb6af9f9eecf0f Mon Sep 17 00:00:00 2001 From: gfreezy Date: Sat, 28 Jul 2018 14:30:00 +0800 Subject: [PATCH 1/2] add support for socks proxy --- slackclient/server.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/slackclient/server.py b/slackclient/server.py index 88b8530df..0bd238b9d 100644 --- a/slackclient/server.py +++ b/slackclient/server.py @@ -176,21 +176,20 @@ def parse_slack_login_data(self, login_data, use_rtm_start): def connect_slack_websocket(self, ws_url): """Uses http proxy if available""" - if self.proxies and "http" in self.proxies: - parts = parse_url(self.proxies["http"]) - proxy_host, proxy_port = parts.host, parts.port + if self.proxies and 'http' in self.proxies: + parts = parse_url(self.proxies['http']) + proxy_type, proxy_host, proxy_port = parts.scheme, parts.host, parts.port auth = parts.auth proxy_auth = auth and auth.split(":") else: - proxy_auth, proxy_port, proxy_host = None, None, None + proxy_type, proxy_auth, proxy_port, proxy_host = None, None, None, None try: - self.websocket = create_connection( - ws_url, - http_proxy_host=proxy_host, - http_proxy_port=proxy_port, - http_proxy_auth=proxy_auth, - ) + self.websocket = create_connection(ws_url, + proxy_type=proxy_type, + http_proxy_host=proxy_host, + http_proxy_port=proxy_port, + http_proxy_auth=proxy_auth) self.connected = True self.last_connected_at = time.time() logging.debug("RTM connected") From 63c307eb0aa4588ca7ef85e8d5f58a1b5eeab358 Mon Sep 17 00:00:00 2001 From: gfreezy Date: Sat, 28 Jul 2018 14:37:31 +0800 Subject: [PATCH 2/2] proxy type defaults to http --- slackclient/server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slackclient/server.py b/slackclient/server.py index 0bd238b9d..70040c215 100644 --- a/slackclient/server.py +++ b/slackclient/server.py @@ -182,7 +182,7 @@ def connect_slack_websocket(self, ws_url): auth = parts.auth proxy_auth = auth and auth.split(":") else: - proxy_type, proxy_auth, proxy_port, proxy_host = None, None, None, None + proxy_type, proxy_auth, proxy_port, proxy_host = 'http', None, None, None try: self.websocket = create_connection(ws_url,