mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-06-29 17:06:27 +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):
|
def shutdown(self, *args, **kwargs):
|
||||||
self.socket.shutdown(*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:
|
else:
|
||||||
SSLTransport = None
|
SSLTransport = None
|
||||||
|
|
||||||
|
@ -270,9 +277,9 @@ def proxy_info_request(self, handler, target_domain=None, target_port=None, **re
|
||||||
handler.validate(request)
|
handler.validate(request)
|
||||||
ws = handler.send(request)
|
ws = handler.send(request)
|
||||||
ws.send('proxy_info')
|
ws.send('proxy_info')
|
||||||
socks_info = ws.recv()
|
proxy_info = ws.recv()
|
||||||
ws.close()
|
ws.close()
|
||||||
return json.loads(socks_info)
|
return json.loads(proxy_info)
|
||||||
|
|
||||||
|
|
||||||
class HTTPProxyWebSocketSecureTestContext(HTTPProxyWebSocketTestContext):
|
class HTTPProxyWebSocketSecureTestContext(HTTPProxyWebSocketTestContext):
|
||||||
|
|
|
@ -250,6 +250,13 @@ def setsockopt(self, *args, **kwargs):
|
||||||
def shutdown(self, *args, **kwargs):
|
def shutdown(self, *args, **kwargs):
|
||||||
self.unwrap()
|
self.unwrap()
|
||||||
self.socket.shutdown(*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:
|
else:
|
||||||
WebsocketsSSLTransport = None
|
WebsocketsSSLTransport = None
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user