11from threading import Thread , Lock
22from websocket import WebSocketApp , setdefaulttimeout , ABNF
33from msgpack import packb , unpackb
4+ from ssl import CERT_NONE
45
56
67class WSConnector :
@@ -17,7 +18,7 @@ def __next__(self):
1718 def __iter__ (self ):
1819 return self
1920
20- def __init__ (self , username : str , token : str , address : str , on_msg = None ):
21+ def __init__ (self , username : str , token : str , address : str , on_msg = None , ignore_ssl_cert = False ):
2122 self .username = username
2223 self .token = token
2324 self .address = address
@@ -26,6 +27,7 @@ def __init__(self, username: str, token: str, address: str, on_msg=None):
2627 self .lock = Lock ()
2728 self .reid = self .REID ()
2829 self .running = False
30+ self .ignore_ssl_cert = ignore_ssl_cert
2931 setdefaulttimeout (60 )
3032
3133 def send (self , data ):
@@ -38,7 +40,8 @@ def start(self):
3840 on_message = None if self .on_msg is None else self ._handle_msg ,
3941 on_open = self ._ready , on_error = self ._fail )
4042 self .lock .acquire ()
41- Thread (target = self .ws .run_forever ).start ()
43+ kwargs = {"sslopt" : {"cert_reqs" : CERT_NONE }} if self .ignore_ssl_cert else None
44+ Thread (target = self .ws .run_forever , kwargs = kwargs ).start ()
4245
4346 def _fail (self , ws , err ):
4447 self .lock .release ()
0 commit comments