summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorredphx <96280+redphx@users.noreply.github.com>2022-03-19 21:21:23 +0700
committerGitHub <noreply@github.com>2022-03-19 14:21:23 +0000
commit1185fead98f674575d761ceb0137c4139a03eb34 (patch)
treef7fcecc0381b9efd002437cfeef5d6d9a21a3cd2
parentf0bf03d911fabfa060aa3f47abb6e7a8b88aba95 (diff)
downloadwebsocket-client-1185fead98f674575d761ceb0137c4139a03eb34.tar.gz
Add support to pass pre-initialized stream socket when creating WebSocketApp (#802) (#804)
* Add support to pass pre-initialized stream socket when creating WebSocketApp (#802) * Fix CI linting error Co-authored-by: engn33r <engn33r@users.noreply.github.com>
-rw-r--r--websocket/_app.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/websocket/_app.py b/websocket/_app.py
index d64bd4d..da49ec7 100644
--- a/websocket/_app.py
+++ b/websocket/_app.py
@@ -107,7 +107,8 @@ class WebSocketApp:
on_cont_message=None,
keep_running=True, get_mask_key=None, cookie=None,
subprotocols=None,
- on_data=None):
+ on_data=None,
+ socket=None):
"""
WebSocketApp initialization
@@ -163,6 +164,8 @@ class WebSocketApp:
Cookie value.
subprotocols: list
List of available sub protocols. Default is None.
+ socket: socket
+ Pre-initialized stream socket.
"""
self.url = url
self.header = header if header is not None else []
@@ -182,6 +185,7 @@ class WebSocketApp:
self.last_ping_tm = 0
self.last_pong_tm = 0
self.subprotocols = subprotocols
+ self.prepared_socket = socket
def send(self, data, opcode=ABNF.OPCODE_TEXT):
"""
@@ -326,7 +330,7 @@ class WebSocketApp:
http_proxy_port=http_proxy_port, http_no_proxy=http_no_proxy,
http_proxy_auth=http_proxy_auth, subprotocols=self.subprotocols,
host=host, origin=origin, suppress_origin=suppress_origin,
- proxy_type=proxy_type)
+ proxy_type=proxy_type, socket=self.prepared_socket)
dispatcher = self.create_dispatcher(ping_timeout, dispatcher)
self._callback(self.on_open)