Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/andriykalashnykov/go-http-instrumented-roundtripper
- Owner: AndriyKalashnykov
- License: mit
- Created: 2022-12-07T05:41:40.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-18T03:24:26.000Z (over 1 year ago)
- Last Synced: 2024-04-17T18:20:01.425Z (9 months ago)
- Topics: go, golang, http, http-client, http-dial, http-transport, roundtrip, roundtripper
- Language: Go
- Homepage:
- Size: 4.77 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)