From: Donald Stufft Date: Sat, 7 Jul 2012 20:07:19 +0000 (-0400) Subject: Include the implementation and implementation version number in the default User... X-Git-Tag: v0.13.3~6^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=982268a2019b451b587f717675039ebccf00a658;p=services%2Fpython-requests.git Include the implementation and implementation version number in the default User-Agent --- diff --git a/requests/defaults.py b/requests/defaults.py index 41e279d..b42d8fa 100644 --- a/requests/defaults.py +++ b/requests/defaults.py @@ -26,14 +26,41 @@ Configurations: SCHEMAS = ['http', 'https'] +import platform +import sys + from . import __version__ defaults = dict() +_implementation = platform.python_implementation() + +if _implementation == 'CPython': + _implementation_version = platform.python_version() +elif _implementation == 'PyPy': + _implementation_version = '%s.%s.%s' % ( + sys.pypy_version_info.major, + sys.pypy_version_info.minor, + sys.pypy_version_info.micro + ) + if sys.pypy_version_info.releaselevel != 'final': + _implementation_version = ''.join([_implementation_version, sys.pypy_version_info.releaselevel]) +elif _implementation == 'Jython': + # @@@ Is there a better way of getting this? + _implementation_version = platform.python_version() +elif _implementation == 'IronPython': + # @@@ Is there a better way of getting this? + _implementation_version = platform.python_version() +else: + _implementation_version = 'Unknown' + + defaults['base_headers'] = { - 'User-Agent': 'python-requests/%s' % __version__, - 'Accept-Encoding': ', '.join(('identity', 'deflate', 'compress', 'gzip')), + 'User-Agent': " ".join([ + 'python-requests/%s' % __version__, + '%s/%s' % (_implementation, _implementation_version), + ]), 'Accept': '*/*' } @@ -49,5 +76,3 @@ defaults['keep_alive'] = True defaults['encode_uri'] = True defaults['trust_env'] = True defaults['store_cookies'] = True - -