envoyproxy / envoyproxy/nighthawk
Send an arbitrary (binary) request body from a file
- Dominant language
- C++
- Stars
- 414
- Forks
- 95
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 11
Description
*Title*: Send an arbitrary (binary) request body from a file
*Description*:
Nighthawk can only send a synthetic body (`--request-body-size`, repeated 'a') or, through a request source plugin, `json_body`, which is a proto3 `string` and must be UTF-8. There is no way to send an arbitrary payload such as a serialized protobuf message or a fixed JSON document from a file. Desired: `--request-body-file ` sending the file's bytes verbatim on every request, binary safe, with the body carried in a `bytes` field of `RequestOptions` for the gRPC service API. This enables benchmarking POST endpoints with realistic payloads and is a prerequisite for gRPC load generation (#24).
*Relevant Links*:
#24
Contributor guide
Research direction
Start by tracing the existing --request-body-size handling and the RequestOptions definition in the gRPC service API; the issue does not name specific files or tests. Follow how request bodies reach each request, then verify that --request-body-file sends the file bytes unchanged on every request and that the API carries them in a bytes field, including the binary-payload use case described in #24.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, grpc
- Domain
- api, cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100