diff --git a/CHANGELOG.md b/CHANGELOG.md index 302da52793..b0eb1ae070 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # v1.0.1 - Bugfix: blocking exec call should remove channel metadata #140 +- Add close method to websocket api of interactive exec #145 # v1.0.0b3 - Bugfix: Missing websocket-client dependency #131 diff --git a/examples/exec.py b/examples/exec.py index f9b21b6349..b5ad044341 100644 --- a/examples/exec.py +++ b/examples/exec.py @@ -92,3 +92,4 @@ resp.write_stdin("whoami\n") user = resp.readline_stdout(timeout=3) print("Server user is: %s" % user) +resp.close() diff --git a/kubernetes/client/ws_client.py b/kubernetes/client/ws_client.py index 735cb5ff5a..7177e5eb24 100644 --- a/kubernetes/client/ws_client.py +++ b/kubernetes/client/ws_client.py @@ -191,6 +191,14 @@ def run_forever(self, timeout=None): while self.is_open(): self.update(timeout=None) + def close(self, **kwargs): + """ + close websocket connection. + """ + self._connected = False + if self.sock: + self.sock.close(**kwargs) + WSResponse = collections.namedtuple('WSResponse', ['data'])