Network Processor

February 20, 2026 ยท View on GitHub

File: src/processors/network.py | Priority: 30 | Name: network

Handles HTTP client output.

Supported Commands

curl, wget, http (httpie), https (httpie).

Strategy

CommandStrategy
curl -vStrips TLS handshake (* lines), connection lifecycle, boilerplate response headers (Date, Server, X-Powered-By, etc.). Keeps HTTP status, request method, essential headers (Content-Type, Location, Set-Cookie, X-Request-Id, Authorization). JSON response bodies > 500 chars are summarized by structure
curl (non-verbose)Strips progress meter table. JSON bodies are summarized if large
wgetStrips DNS resolution, connection info, progress bars. Keeps HTTP status, Length, save location, final result
http/https (httpie)Keeps status line, important headers (Content-Type, Location, Set-Cookie, Authorization, X-Request-Id). Strips Date, Server, X-Powered-By. JSON bodies are summarized if large

JSON Response Compression

When the output (or body portion) is valid JSON and exceeds 500 characters, the processor summarizes it:

  • Objects: shows keys and value types
  • Arrays: shows length and first element structure
  • Long strings: truncated with char count

False Positive Prevention

The processor uses re.match(r"^\s*(http|https)\s+", command) for httpie to avoid false-matching commands that merely contain http/https as part of URLs (e.g., git push https://...).