Source code for jivago.wsgi.request.headers
from jivago.lang.stream import Stream
[docs]class Headers(object):
def __init__(self, content=None):
self.content = {} if content is None else content
def __setitem__(self, key: str, value: str):
self.content[key] = value
def __getitem__(self, item: str) -> str:
found_header = Stream(self.content.items()).firstMatch(
lambda key, value: key == item or _format_camel_case(key) == _format_camel_case(item))
if found_header:
return found_header.get()[1]
return None
def __contains__(self, item):
return _format_camel_case(item) in self.content
def _format_camel_case(message: str) -> str:
return message.replace("_", "-").title()