mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-09-27 16:56:30 +02:00
patch SSLTransport to return b'' instead of 0 as EOF
Websockets only treats b'' as EOF
This commit is contained in:
parent
db14294b5c
commit
0efd83b31a
@ -118,6 +118,13 @@ def _io_refs(self, value):
|
||||
|
||||
def shutdown(self, *args, **kwargs):
|
||||
self.socket.shutdown(*args, **kwargs)
|
||||
|
||||
def _wrap_ssl_read(self, *args, **kwargs):
|
||||
res = super()._wrap_ssl_read(*args, **kwargs)
|
||||
if res == 0:
|
||||
# Websockets does not treat 0 as an EOF, rather only b''
|
||||
return b''
|
||||
return res
|
||||
else:
|
||||
SSLTransport = None
|
||||
|
||||
@ -270,9 +277,9 @@ def proxy_info_request(self, handler, target_domain=None, target_port=None, **re
|
||||
handler.validate(request)
|
||||
ws = handler.send(request)
|
||||
ws.send('proxy_info')
|
||||
socks_info = ws.recv()
|
||||
proxy_info = ws.recv()
|
||||
ws.close()
|
||||
return json.loads(socks_info)
|
||||
return json.loads(proxy_info)
|
||||
|
||||
|
||||
class HTTPProxyWebSocketSecureTestContext(HTTPProxyWebSocketTestContext):
|
||||
|
@ -250,6 +250,13 @@ def setsockopt(self, *args, **kwargs):
|
||||
def shutdown(self, *args, **kwargs):
|
||||
self.unwrap()
|
||||
self.socket.shutdown(*args, **kwargs)
|
||||
|
||||
def _wrap_ssl_read(self, *args, **kwargs):
|
||||
res = super()._wrap_ssl_read(*args, **kwargs)
|
||||
if res == 0:
|
||||
# Websockets does not treat 0 as an EOF, rather only b''
|
||||
return b''
|
||||
return res
|
||||
else:
|
||||
WebsocketsSSLTransport = None
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user