An object containing headers data.
| 80 | |
| 81 | @dataclasses.dataclass(frozen=True) |
| 82 | class HeaderData(_HeaderData): |
| 83 | """An object containing headers data.""" |
| 84 | |
| 85 | @classmethod |
| 86 | def from_router_data(cls, router_data: dict) -> "HeaderData": |
| 87 | """Create a HeaderData object from the given router_data. |
| 88 | |
| 89 | Args: |
| 90 | router_data: the router_data dict. |
| 91 | |
| 92 | Returns: |
| 93 | A HeaderData object initialized with the provided router_data. |
| 94 | """ |
| 95 | return cls( |
| 96 | **{ |
| 97 | snake_case_key: v |
| 98 | for k, v in router_data.get(constants.RouteVar.HEADERS, {}).items() |
| 99 | if v |
| 100 | and (snake_case_key := format.to_snake_case(k)) in _HEADER_DATA_FIELDS |
| 101 | }, |
| 102 | raw_headers=_FrozenDictStrStr(**{ |
| 103 | k: v |
| 104 | for k, v in router_data.get(constants.RouteVar.HEADERS, {}).items() |
| 105 | if v |
| 106 | }), |
| 107 | ) |
| 108 | |
| 109 | |
| 110 | @serializer(to=dict) |
no outgoing calls