MCPcopy
hub / github.com/mitmproxy/mitmproxy / content_view

Method content_view

mitmproxy/tools/console/flowview.py:306–340  ·  view source on GitHub ↗
(
        self, viewmode: str, message: http.Message
    )

Source from the content-addressed store, hash-verified

304 return flowdetailview.flowdetails(self.view, self.flow)
305
306 def content_view(
307 self, viewmode: str, message: http.Message
308 ) -> tuple[str, list[urwid.Text]]:
309 if message.raw_content is None:
310 return "", [urwid.Text([("error", "[content missing]")])]
311
312 if message.raw_content == b"":
313 if isinstance(message, http.Request):
314 query = getattr(message, "query", "")
315 if not query:
316 # No body and no query params
317 return "", [urwid.Text("No request content")]
318 # else: there are query params -> fall through to render them
319 else:
320 return "", [urwid.Text("No content")]
321
322 full = self.master.commands.execute(
323 "view.settings.getval @focus fullcontents false"
324 )
325
326 if full == "true":
327 limit = sys.maxsize
328 else:
329 limit = ctx.options.content_view_lines_cutoff
330
331 flow_modify_cache_invalidation = hash(
332 (
333 message.raw_content,
334 message.headers.fields,
335 getattr(message, "path", None),
336 )
337 )
338 # we need to pass the message off-band because it's not hashable
339 self._get_content_view_message = message
340 return self._get_content_view(viewmode, limit, flow_modify_cache_invalidation)
341
342 @lru_cache(maxsize=200)
343 def _get_content_view(

Calls 3

_get_content_viewMethod · 0.95
hashFunction · 0.85
executeMethod · 0.80