| 1419 | |
| 1420 | |
| 1421 | class HeaderProperty(object): |
| 1422 | def __init__(self, name, reader=None, writer=None, default=''): |
| 1423 | self.name, self.default = name, default |
| 1424 | self.reader, self.writer = reader, writer |
| 1425 | self.__doc__ = 'Current value of the %r header.' % name.title() |
| 1426 | |
| 1427 | def __get__(self, obj, cls): |
| 1428 | if obj is None: return self |
| 1429 | value = obj.get_header(self.name, self.default) |
| 1430 | return self.reader(value) if self.reader else value |
| 1431 | |
| 1432 | def __set__(self, obj, value): |
| 1433 | obj[self.name] = self.writer(value) if self.writer else value |
| 1434 | |
| 1435 | def __delete__(self, obj): |
| 1436 | del obj[self.name] |
| 1437 | |
| 1438 | |
| 1439 | class BaseResponse(object): |
no outgoing calls
no test coverage detected