def copy_from_websocket( f: io.RawIOBase, ws: lomond.WebSocket, ready_sem: threading.Semaphore, cert_file: Optional[str], cert_name: Optional[str], ) -> None: try: for event in ws.connect( ping_rate=0, session_class=lambda socket: CustomSSLWebsocketSession(socket, cert_file, cert_name), ): if isinstance(event, lomond.events.Binary): f.write(event.data) elif isinstance(event, lomond.events.Ready): ready_sem.release() elif isinstance( event, (lomond.events.ConnectFail, lomond.events.Rejected, lomond.events.ProtocolError), ): raise Exception("Connection failed: {}".format(event)) elif isinstance(event, (lomond.events.Closing, lomond.events.Disconnected)): break finally: f.close()
def close(self): if self._sock is None: return else: self._sock.close() self._sock = None RawIOBase.close(self)
def close(self): """Close open resources.""" RawIOBase.close(self) if self.fd: self.fd.close() self.fd = None
def close(self): """Close the SocketIO object. This doesn't close the underlying socket, except if all references to it have disappeared. """ if self.closed: return RawIOBase.close(self) self._sock = None
def copy_to_websocket( ws: lomond.WebSocket, f: io.RawIOBase, ready_sem: threading.Semaphore ) -> None: ready_sem.acquire() try: while True: chunk = f.read(4096) if not chunk: break ws.send_binary(chunk) finally: f.close() ws.close()
def close(self): if self.decompressor: self.decompressor.close() self.decompressor = None self.fp.close() return RawIOBase.close(self)
def close(self): if self.closed: return RawIOBase.close(self) self.http_stream = None
def close(self): if self.closed: return RawIOBase.close(self) self.iter = None