MCPcopy
hub / github.com/mitmproxy/mitmproxy / format_http_flow_table

Function format_http_flow_table

mitmproxy/tools/console/common.py:479–593  ·  view source on GitHub ↗
(
    *,
    render_mode: RenderMode,
    focused: bool,
    marked: str,
    is_replay: str | None,
    request_method: str,
    request_scheme: str,
    request_host: str,
    request_path: str,
    request_url: str,
    request_http_version: str,
    request_timestamp: float,
    request_is_push_promise: bool,
    intercepted: bool,
    response_code: int | None,
    response_reason: str | None,
    response_content_length: int | None,
    response_content_type: str | None,
    duration: float | None,
    error_message: str | None,
)

Source from the content-addressed store, hash-verified

477
478@lru_cache(maxsize=800)
479def format_http_flow_table(
480 *,
481 render_mode: RenderMode,
482 focused: bool,
483 marked: str,
484 is_replay: str | None,
485 request_method: str,
486 request_scheme: str,
487 request_host: str,
488 request_path: str,
489 request_url: str,
490 request_http_version: str,
491 request_timestamp: float,
492 request_is_push_promise: bool,
493 intercepted: bool,
494 response_code: int | None,
495 response_reason: str | None,
496 response_content_length: int | None,
497 response_content_type: str | None,
498 duration: float | None,
499 error_message: str | None,
500) -> urwid.Widget:
501 items = [
502 format_left_indicators(
503 focused=focused, intercepted=intercepted, timestamp=request_timestamp
504 )
505 ]
506
507 if intercepted and not response_code:
508 request_style = "intercept"
509 else:
510 request_style = ""
511
512 scheme_style = request_style or SCHEME_STYLES.get(request_scheme, "scheme_other")
513 items.append(fcol(fixlen(request_scheme.upper(), 5), scheme_style))
514
515 if request_is_push_promise:
516 method_style = "method_http2_push"
517 else:
518 method_style = request_style or HTTP_REQUEST_METHOD_STYLES.get(
519 request_method, "method_other"
520 )
521 items.append(fcol(fixlen(request_method, 4), method_style))
522
523 items.append(
524 (
525 "weight",
526 0.25,
527 TruncatedText(request_host, colorize_host(request_host), "right"),
528 )
529 )
530 items.append(
531 ("weight", 1.0, TruncatedText(request_path, colorize_req(request_path), "left"))
532 )
533
534 if intercepted and response_code:
535 response_style = "intercept"
536 else:

Callers

nothing calls this directly

Calls 14

format_left_indicatorsFunction · 0.85
fcolFunction · 0.85
fixlenFunction · 0.85
TruncatedTextClass · 0.85
colorize_hostFunction · 0.85
colorize_reqFunction · 0.85
format_http_content_typeFunction · 0.85
truncated_plainFunction · 0.85
format_sizeFunction · 0.85
fixlen_rFunction · 0.85
format_durationFunction · 0.85
format_right_indicatorsFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…