Merge "Add support for setting Accept-Language header"
This commit is contained in:
@@ -125,6 +125,7 @@ class HTTPClient(_BaseHTTPClient):
|
||||
self.endpoint = endpoint
|
||||
self.identity_headers = kwargs.get('identity_headers')
|
||||
self.auth_token = kwargs.get('token')
|
||||
self.language_header = kwargs.get('language_header')
|
||||
if self.identity_headers:
|
||||
if self.identity_headers.get('X-Auth-Token'):
|
||||
self.auth_token = self.identity_headers.get('X-Auth-Token')
|
||||
@@ -136,6 +137,9 @@ class HTTPClient(_BaseHTTPClient):
|
||||
if self.auth_token:
|
||||
self.session.headers["X-Auth-Token"] = self.auth_token
|
||||
|
||||
if self.language_header:
|
||||
self.session.headers["Accept-Language"] = self.language_header
|
||||
|
||||
self.timeout = float(kwargs.get('timeout', 600))
|
||||
|
||||
if self.endpoint.startswith("https"):
|
||||
|
@@ -137,6 +137,28 @@ class TestClient(testtools.TestCase):
|
||||
for k, v in six.iteritems(identity_headers):
|
||||
self.assertEqual(v, headers[k])
|
||||
|
||||
def test_language_header_passed(self):
|
||||
kwargs = {'language_header': 'nb_NO'}
|
||||
http_client = http.HTTPClient(self.endpoint, **kwargs)
|
||||
|
||||
path = '/v2/images/my-image'
|
||||
self.mock.get(self.endpoint + path)
|
||||
http_client.get(path)
|
||||
|
||||
headers = self.mock.last_request.headers
|
||||
self.assertEqual(kwargs['language_header'], headers['Accept-Language'])
|
||||
|
||||
def test_language_header_not_passed_no_language(self):
|
||||
kwargs = {}
|
||||
http_client = http.HTTPClient(self.endpoint, **kwargs)
|
||||
|
||||
path = '/v2/images/my-image'
|
||||
self.mock.get(self.endpoint + path)
|
||||
http_client.get(path)
|
||||
|
||||
headers = self.mock.last_request.headers
|
||||
self.assertTrue('Accept-Language' not in headers)
|
||||
|
||||
def test_connection_timeout(self):
|
||||
"""Should receive an InvalidEndpoint if connection timeout."""
|
||||
def cb(request, context):
|
||||
|
@@ -27,6 +27,8 @@ class Client(object):
|
||||
:param string token: Token for authentication.
|
||||
:param integer timeout: Allows customization of the timeout for client
|
||||
http requests. (optional)
|
||||
:param string language_header: Set Accept-Language header to be sent in
|
||||
requests to glance.
|
||||
"""
|
||||
|
||||
def __init__(self, endpoint=None, **kwargs):
|
||||
|
@@ -32,6 +32,8 @@ class Client(object):
|
||||
:param string token: Token for authentication.
|
||||
:param integer timeout: Allows customization of the timeout for client
|
||||
http requests. (optional)
|
||||
:param string language_header: Set Accept-Language header to be sent in
|
||||
requests to glance.
|
||||
"""
|
||||
|
||||
def __init__(self, endpoint=None, **kwargs):
|
||||
|
Reference in New Issue
Block a user