| 1603 | |
| 1604 | |
| 1605 | class HeaderProperty(object): |
| 1606 | def __init__(self, name, reader=None, writer=None, default=''): |
| 1607 | self.name, self.default = name, default |
| 1608 | self.reader, self.writer = reader, writer |
| 1609 | self.__doc__ = 'Current value of the %r header.' % name.title() |
| 1610 | |
| 1611 | def __get__(self, obj, _): |
| 1612 | if obj is None: return self |
| 1613 | value = obj.get_header(self.name, self.default) |
| 1614 | return self.reader(value) if self.reader else value |
| 1615 | |
| 1616 | def __set__(self, obj, value): |
| 1617 | obj[self.name] = self.writer(value) if self.writer else value |
| 1618 | |
| 1619 | def __delete__(self, obj): |
| 1620 | del obj[self.name] |
| 1621 | |
| 1622 | |
| 1623 | class BaseResponse(object): |
no outgoing calls
no test coverage detected