go-retryablehttp
Retryable HTTP client in Go (by hashicorp)
heimdall
An enhanced HTTP client for Go (by gojek)
go-retryablehttp | heimdall | |
---|---|---|
3 | 4 | |
1,847 | 2,559 | |
1.8% | 0.4% | |
3.7 | 0.0 | |
9 days ago | 16 days ago | |
Go | Go | |
Mozilla Public License 2.0 | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-retryablehttp
Posts with mentions or reviews of go-retryablehttp.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-22.
- Network Error Handling
-
Building with the GitHub API
Both cases can be mitigated with automated retries. We went with hashicorp/go-retryablehttp as Echoes is built in Go. The library's default retry policy rightly doesn't consider a 401 response as a recoverable error, but this can be changed using the [CheckRetry hook](https://pkg.go.dev/github.com/hashicorp/go-retryablehttp#CheckRetry).
- Any http client framework?
heimdall
Posts with mentions or reviews of heimdall.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-13.
-
Heimdall hystrix circuit breaking
I would suggest reading the code for the hystrix part: https://github.com/gojek/heimdall/tree/master/hystrix It is not very complex, but I see things like error threshold, so it might already be doing what you want.
- Any http client framework?
-
Can you share some Go package that you think has high quality clean code?
Heimdall HTTP Client
What are some alternatives?
When comparing go-retryablehttp and heimdall you can also consider the following projects:
resty - Simple HTTP and REST client library for Go
go-http-client - An enhanced and lightweight http client for Golang
ghinstallation - HTTP Round Tripper for GitHub Apps - Authenticate as an Installation Workflow
fasthttp - Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
github - Go library for accessing the GitHub v3 API
retry-go - Simple golang library for retry mechanism
contact - Retryable HTTP client in Go.
req - Simple Go HTTP client with Black Magic
httpretry - Enriches the standard go http client with retry functionality.
go-req - Declarative golang HTTP client
requests - HTTP requests for Gophers