Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/andriykalashnykov/go-http-instrumented-roundtripper

Go http.Client RoundTripper implementation
https://github.com/andriykalashnykov/go-http-instrumented-roundtripper

go golang http http-client http-dial http-transport roundtrip roundtripper

Last synced: about 2 months ago
JSON representation

Go http.Client RoundTripper implementation

Awesome Lists containing this project

README

        

# go-http-instrumented-roundtripper

Instrumenting the Go http.Client with a custom http.RoundTripper, http.Transport and net.Dialer.

## Requirements
* [gvm](https://github.com/moovweb/gvm) Go 1.19
```bash
gvm install go1.19 --prefer-binary --with-build-tools --with-protobuf
gvm use go1.19 --default
```
## Help

```text
Usage: make COMMAND
Commands :
help - List available tasks
clean - Cleanup
get - Download and install dependency packages
update - Update dependencies to latest versions
test - Run tests
build - Build binary
```

### Links

* [HTTP client middleware in Go](https://echorand.me/posts/go-http-client-middleware/)
* [A Go http.RoundTripper that exports request statistics via Prometheus](https://github.com/linki/instrumented_http)
* [Tripperwares: http.Client Middleware - chaining RoundTrippers](https://dev.to/stevenacoffman/tripperwares-http-client-middleware-chaining-roundtrippers-3o00)
* [Proxied RoundTripper](https://stackoverflow.com/questions/39527847/is-there-middleware-for-go-http-client)
* [Middleware Pipeline](https://github.com/jobala/middleware_pipeline)
* [go-httpwares](https://github.com/improbable-eng/go-httpwares)
* [Add header to every request](https://developer20.com/add-header-to-every-request-in-go/)
* [How To Reuse Http Connections In Go](https://golang.cafe/blog/how-to-reuse-http-connections-in-go.html)
* [How to customize http.Client or http.Transport in Go to retry after timeout?](https://stackoverflow.com/questions/62900451/how-to-customize-http-client-or-http-transport-in-go-to-retry-after-timeout)
* [Cached Rouundtripper](https://lanre.wtf/blog/2017/07/24/roundtripper-go/)
* [Cached Roundtripping](https://github.com/adelowo/rounder)
* [NewHTTPClientWithSettings AWS](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/custom-http.html)
* [dynamically change the content of the upstream response?](https://forum.golangbridge.org/t/how-to-build-an-http-reverse-proxy-to-dynamically-change-the-content-of-the-upstream-response/1313)
* [RoundTrip Retry implementation](https://github.com/turbot/steampipe-plugin-datadog/blob/main/datadog/custom_transport.go)