Hera
Hera is a powerful and new proxy system, it is easy to use and to understand.
Create a proxy server listener.
l := &proxy.Listener{
Host: ":3434",
Cred: proxy.NewCredentials("user", "pass"),
}
if err := l.ListenAndServe(); err != nil {
panic(err)
}
Create a http request with a Hera proxy.
c := &proxy.Client{
Host: "http://example.com:3434",
Cred: proxy.NewCredentials("user", "pass"),
}
r, _ := http.NewRequest("GET", "http://example.com/user/example", nil)
r.Header.Set("Authorization", "my_api_token_key")
resp, err := c.Do(r)
if err != nil {
panic(err)
}
b, _ := io.ReadAll(resp.Body)
fmt.Println(string(b))