def setdefault(self, key: str, value: str) -> str:
set_key = key.lower().encode("<STR_LIT>")<EOL>set_value = value.encode("<STR_LIT>")<EOL>for idx, (item_key, item_value) in enumerate(self._list):<EOL><INDENT>if item_key == set_key:<EOL><INDENT>return item_value.decode("<STR_LIT>")<EOL><DEDENT><DEDENT>self._list.append((set_key, set_value))<EOL>return value<EOL>
If the header `key` does not exist, then set it to `value`.
Returns the header value.