Merge "Make header Case Insensitive"

changes/62/727562/3
Zuul 2020-06-03 17:57:33 +00:00 committed by Gerrit Code Review
commit 1f0412a042
3 changed files with 20 additions and 3 deletions

View File

@ -13,6 +13,8 @@
import os
import warnings
import requests
from keystoneauth1 import _fair_semaphore
from keystoneauth1 import session
@ -198,7 +200,14 @@ class Adapter(object):
def request(self, url, method, **kwargs):
endpoint_filter = kwargs.setdefault('endpoint_filter', {})
self._set_endpoint_filter_kwargs(endpoint_filter)
# NOTE(gmann): Convert r initlize the headers to
# CaseInsensitiveDict to make sure headers are
# case insensitive.
if kwargs.get('headers'):
kwargs['headers'] = requests.structures.CaseInsensitiveDict(
kwargs['headers'])
else:
kwargs['headers'] = requests.structures.CaseInsensitiveDict()
if self.endpoint_override:
kwargs.setdefault('endpoint_override', self.endpoint_override)

View File

@ -753,6 +753,14 @@ class Session(object):
else:
split_loggers = None
logger = logger or utils.get_logger(__name__)
# NOTE(gmann): Convert r initlize the headers to
# CaseInsensitiveDict to make sure headers are
# case insensitive.
if kwargs.get('headers'):
kwargs['headers'] = requests.structures.CaseInsensitiveDict(
kwargs['headers'])
else:
kwargs['headers'] = requests.structures.CaseInsensitiveDict()
if connect_retries is None:
connect_retries = self._connect_retries
# HTTP 503 - Service Unavailable

View File

@ -1822,7 +1822,7 @@ class AdapterTest(utils.TestCase):
with mock.patch.object(sess, 'request') as m:
adapter.Adapter(sess, **adap_kwargs).get(url, **get_kwargs)
m.assert_called_once_with(url, 'GET', endpoint_filter={},
rate_semaphore=mock.ANY,
headers={}, rate_semaphore=mock.ANY,
**exp_kwargs)
# No default_microversion in Adapter, no microversion in get()
@ -1846,7 +1846,7 @@ class AdapterTest(utils.TestCase):
with mock.patch.object(sess, 'request') as m:
adapter.Adapter(sess, **adap_kwargs).get(url, **get_kwargs)
m.assert_called_once_with(url, 'GET', endpoint_filter={},
rate_semaphore=mock.ANY,
headers={}, rate_semaphore=mock.ANY,
**exp_kwargs)
# No raise_exc in Adapter or get()