Add user agent to API calls

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
This commit is contained in:
Ben Firshman 2016-07-24 18:57:36 +01:00
commit 1877a41b92
No known key found for this signature in database
GPG key ID: 18296449E36D2F1E
3 changed files with 30 additions and 0 deletions

View file

@ -10,6 +10,7 @@ from docker.utils import kwargs_from_env
from ..const import HTTP_TIMEOUT
from .errors import UserError
from .utils import generate_user_agent
log = logging.getLogger(__name__)
@ -67,4 +68,6 @@ def docker_client(environment, version=None, tls_config=None, host=None,
else:
kwargs['timeout'] = HTTP_TIMEOUT
kwargs['user_agent'] = generate_user_agent()
return Client(**kwargs)

View file

@ -107,3 +107,18 @@ def get_build_version():
def is_docker_for_mac_installed():
return is_mac() and os.path.isdir('/Applications/Docker.app')
def generate_user_agent():
parts = [
"docker-compose/{}".format(compose.__version__),
"docker-py/{}".format(docker.__version__),
]
try:
p_system = platform.system()
p_release = platform.release()
except IOError:
pass
else:
parts.append("{}/{}".format(p_system, p_release))
return " ".join(parts)