MCPcopy Index your code
hub / github.com/mitmproxy/mitmproxy / pretty

Method pretty

mitmproxy/contentviews/_view_http3.py:25–52  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

23 data: bytes
24
25 def pretty(self) -> str:
26 frame_name = f"0x{self.type:x} Frame"
27 if self.type == 0:
28 frame_name = "DATA Frame"
29 elif self.type == 1:
30 try:
31 hdrs = pylsqpack.Decoder(4096, 16).feed_header(0, self.data)[1]
32 return f"HEADERS Frame\n" + "\n".join(
33 f"{k.decode(errors='backslashreplace')}: {v.decode(errors='backslashreplace')}"
34 for k, v in hdrs
35 )
36 except Exception as e:
37 frame_name = f"HEADERS Frame (error: {e})"
38 elif self.type == 4:
39 settings = []
40 try:
41 s = parse_settings(self.data)
42 except Exception as e:
43 frame_name = f"SETTINGS Frame (error: {e})"
44 else:
45 for k, v in s.items():
46 try:
47 key = Setting(k).name
48 except ValueError:
49 key = f"0x{k:x}"
50 settings.append(f"{key}: 0x{v:x}")
51 return "SETTINGS Frame\n" + "\n".join(settings)
52 return f"{frame_name}\n" + hex_dump.prettify(self.data, Metadata())
53
54
55@dataclass(frozen=True)

Callers 1

prettifyMethod · 0.95

Calls 6

MetadataClass · 0.90
joinMethod · 0.45
decodeMethod · 0.45
itemsMethod · 0.45
appendMethod · 0.45
prettifyMethod · 0.45

Tested by

no test coverage detected