本文整理汇总了Python中swift.common.swob.HeaderKeyDict.iteritems方法的典型用法代码示例。如果您正苦于以下问题:Python HeaderKeyDict.iteritems方法的具体用法?Python HeaderKeyDict.iteritems怎么用?Python HeaderKeyDict.iteritems使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类swift.common.swob.HeaderKeyDict
的用法示例。
在下文中一共展示了HeaderKeyDict.iteritems方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_clean_outgoing_headers
# 需要导入模块: from swift.common.swob import HeaderKeyDict [as 别名]
# 或者: from swift.common.swob.HeaderKeyDict import iteritems [as 别名]
def test_clean_outgoing_headers(self):
orh = ''
oah = ''
hdrs = {'test-header': 'value'}
hdrs = HeaderKeyDict(tempurl.TempURL(
None,
{'outgoing_remove_headers': orh, 'outgoing_allow_headers': oah}
)._clean_outgoing_headers(hdrs.iteritems()))
self.assertTrue('test-header' in hdrs)
orh = 'test-header'
oah = ''
hdrs = {'test-header': 'value'}
hdrs = HeaderKeyDict(tempurl.TempURL(
None,
{'outgoing_remove_headers': orh, 'outgoing_allow_headers': oah}
)._clean_outgoing_headers(hdrs.iteritems()))
self.assertTrue('test-header' not in hdrs)
orh = 'test-header-*'
oah = ''
hdrs = {'test-header-one': 'value',
'test-header-two': 'value'}
hdrs = HeaderKeyDict(tempurl.TempURL(
None,
{'outgoing_remove_headers': orh, 'outgoing_allow_headers': oah}
)._clean_outgoing_headers(hdrs.iteritems()))
self.assertTrue('test-header-one' not in hdrs)
self.assertTrue('test-header-two' not in hdrs)
orh = 'test-header-*'
oah = 'test-header-two'
hdrs = {'test-header-one': 'value',
'test-header-two': 'value'}
hdrs = HeaderKeyDict(tempurl.TempURL(
None,
{'outgoing_remove_headers': orh, 'outgoing_allow_headers': oah}
)._clean_outgoing_headers(hdrs.iteritems()))
self.assertTrue('test-header-one' not in hdrs)
self.assertTrue('test-header-two' in hdrs)
orh = 'test-header-* test-other-header'
oah = 'test-header-two test-header-yes-*'
hdrs = {'test-header-one': 'value',
'test-header-two': 'value',
'test-other-header': 'value',
'test-header-yes': 'value',
'test-header-yes-this': 'value'}
hdrs = HeaderKeyDict(tempurl.TempURL(
None,
{'outgoing_remove_headers': orh, 'outgoing_allow_headers': oah}
)._clean_outgoing_headers(hdrs.iteritems()))
self.assertTrue('test-header-one' not in hdrs)
self.assertTrue('test-header-two' in hdrs)
self.assertTrue('test-other-header' not in hdrs)
self.assertTrue('test-header-yes' not in hdrs)
self.assertTrue('test-header-yes-this' in hdrs)
示例2: handle_request
# 需要导入模块: from swift.common.swob import HeaderKeyDict [as 别名]
# 或者: from swift.common.swob.HeaderKeyDict import iteritems [as 别名]
def handle_request(self, env, start_response):
account_id = env.get('REMOTE_USER', None)
resp = self._app_call(env)
headers = HeaderKeyDict(self._response_headers)
if 'x-nexe-cdr-line' in headers and account_id:
try:
total_time, line = headers['x-nexe-cdr-line'].split(', ', 1)
node_lines = re.split(r'\s*,\s*', line)
total = []
for rtime, line in zip(*[iter(node_lines)]*2):
accounting_info = line.split(' ')
total = self.liteacc.cache_accounting_info(account_id, rtime, accounting_info)
self.liteacc.queue.put(account_id)
headers['x-nexe-cdr-total'] = ' '.join([str(t) for t in total])
self._response_headers = [(k, v) for k, v in headers.iteritems()]
except ValueError:
self.logger.warning('Accounting cannot parse CDR entry: %s' % headers['x-nexe-cdr-line'])
start_response(self._response_status, self._response_headers,
self._response_exc_info)
return resp