fullstorydev / fullstorydev/grpcurl

Emulate cURL CLI flags: --retry N --retry-all-errors

Open
#371 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
12.8k
Forks
580
Avg merge
1h 8m
Merged PRs (30d)
5

Description

Feature request for your consideration.

`curl` does not retry by default, but it can be instructed to do so with the command line flags `--retry` and `--retry-all-errors`, maybe `grpcurl` should do the same or something similar.

Background: I'm doing a `docker run --detach --name MyApp MyApp`

Followed by a `docker run --network container:MyApp fullstorydev/grpcurl 127.0.0.1:50051 MyService/MyRPC`, but I get something like `Failed to dial target host "127.0.0.1:50051": dial tcp 127.0.0.1:50051: connect: connection refused` because nor the container or the app can come up as fast as the next command/script/etc.

Rather than adding an extra step to "wait for MYAPP to be ready" I rather just slap a command line flag to `grpcurl`

disclaimer:
- I know is almost impossible to keep feature parity with the real `curl`
- I know this can be accomplished in other ways, I just think it would be a "nice to have" feature

Thanks!

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no files or tests. Start by locating grpcurl's command-line flag handling and connection setup, then define how --retry and --retry-all-errors should handle the reported connection-refused startup case; done means the CLI can reliably retry that case with documented flag behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.