codekingpro/portable-devtools
114k
1from ...plugins import FormatterPlugin2 3 4class HeadersFormatter(FormatterPlugin):5 6 def __init__(self, **kwargs):7 super().__init__(**kwargs)8 self.enabled = self.format_options['headers']['sort']9 10 def format_headers(self, headers: str) -> str:11 """12 Sorts headers by name while retaining relative13 order of multiple headers with the same name.14 15 """16 lines = headers.splitlines()17 headers = sorted(lines[1:], key=lambda h: h.split(':')[0])18 return '\r\n'.join(lines[:1] + headers)19 