
Supported content types
httpmon decodes bodies with these content types:Named decoding with proto files
Use--proto-path to point httpmon at your .proto files. Field names appear in the decoded JSON instead of field numbers.
*.proto). You can repeat it multiple times. Cross-file imports are resolved automatically.
With proto files, a SayHello response decodes as:
Raw wire decoding
Without--proto-path, httpmon still decodes Protobuf bodies using raw wire format. Field numbers appear as JSON keys instead of names:
gRPC-Web framing
gRPC-Web responses use 5-byte length-prefixed frames. httpmon strips these automatically before decoding the Protobuf payload. Compressed frames are noted but not decoded. Trailer frames are silently skipped.Import search paths
Use--proto-include to add import search directories, similar to protoc’s -I flag. This is needed when your .proto files import definitions from other directories.
Persisting proto paths
Save proto paths in~/.httpmon/config.json so you don’t need --proto-path on every run:
--proto-path and --proto-include flags are appended to any paths already in the config file.
Per-host proto registries
If different services use different.proto definitions, configure per-host registries in ~/.httpmon/config.json:
* wildcards. Per-host registries take precedence over the global proto_paths for matching hosts. Requests to hosts that don’t match any pattern fall back to the global registry.

