(self)
| 115 | return self.impl['u']['resp']['m_status'] |
| 116 | |
| 117 | def headers(self): |
| 118 | mime = self.val['m_mime'].dereference() |
| 119 | fblock_ptr = mime['m_first_fblock'].address |
| 120 | while fblock_ptr != 0: |
| 121 | fblock = fblock_ptr.dereference() |
| 122 | slots = fblock['m_field_slots'] |
| 123 | #print("slots type {} address {} size {}".format(slots.type, slots.address, slots.type.sizeof)) |
| 124 | #print("next idx {} len {} next {}".format(fblock['m_freetop'], fblock['m_length'], fblock['m_next'])) |
| 125 | |
| 126 | for slot_idx in range(fblock['m_freetop']): |
| 127 | fld = slots[slot_idx] |
| 128 | wks = fld['m_wks_idx'] |
| 129 | name = wks_or_str(wks, fld['m_ptr_name'], fld['m_len_name']) |
| 130 | yield (name, ats_str(fld['m_ptr_value'], fld['m_len_value'])) |
| 131 | |
| 132 | fblock_ptr = fblock['m_next'] |
| 133 | |
| 134 | def pr(self): |
| 135 | if self.is_valid(): |
no test coverage detected