summaryrefslogtreecommitdiff
path: root/docker/api/exec_api.py
diff options
context:
space:
mode:
authorOndřej Nový <onovy@debian.org>2016-10-07 22:56:59 +0200
committerOndřej Nový <onovy@debian.org>2016-10-07 22:56:59 +0200
commit5d8d4569fb7b4e869d9c88fa0f7f703c38f8131e (patch)
treecaa16dd2da7ca381a4cfe7d34bb69b9936422cdc /docker/api/exec_api.py
parent49556cb01423a89a6d2ce7a58b1f5cb64dde0ff3 (diff)
Import python-docker_1.10.3.orig.tar.gz
Diffstat (limited to 'docker/api/exec_api.py')
-rw-r--r--docker/api/exec_api.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/docker/api/exec_api.py b/docker/api/exec_api.py
index f0e4afa..6e49996 100644
--- a/docker/api/exec_api.py
+++ b/docker/api/exec_api.py
@@ -56,8 +56,6 @@ class ExecApiMixin(object):
def exec_start(self, exec_id, detach=False, tty=False, stream=False,
socket=False):
# we want opened socket if socket == True
- if socket:
- stream = True
if isinstance(exec_id, dict):
exec_id = exec_id.get('Id')
@@ -66,10 +64,18 @@ class ExecApiMixin(object):
'Detach': detach
}
+ headers = {} if detach else {
+ 'Connection': 'Upgrade',
+ 'Upgrade': 'tcp'
+ }
+
res = self._post_json(
- self._url('/exec/{0}/start', exec_id), data=data, stream=stream
+ self._url('/exec/{0}/start', exec_id),
+ headers=headers,
+ data=data,
+ stream=True
)
if socket:
return self._get_raw_response_socket(res)
- return self._get_result_tty(stream, res, tty)
+ return self._read_from_socket(res, stream)