Skip to content

Instantly share code, notes, and snippets.

@aavrug
Created July 12, 2020 21:06
Show Gist options
  • Save aavrug/c5e5197dd34d10b8adee65645f7a78ee to your computer and use it in GitHub Desktop.
Save aavrug/c5e5197dd34d10b8adee65645f7a78ee to your computer and use it in GitHub Desktop.
func sendRequest(w http.ResponseWriter, r *http.Request) {
url := r.URL
url.Host = "example.com"
var buf bytes.Buffer
tee := io.TeeReader(r.Body, &buf)
fmt.Println(buf.String())
proxyReq, err := http.NewRequest(r.Method, "https:"+url.String(), tee)
if err != nil {
fmt.Println(err)
}
proxyReq.Header.Set("Host", r.Host)
proxyReq.Header.Set("X-Forwarded-For", r.RemoteAddr)
for header, values := range r.Header {
for _, value := range values {
proxyReq.Header.Add(header, value)
}
}
client := &http.Client{}
proxyRes, err := client.Do(proxyReq)
if err != nil {
fmt.Println(err)
}
defer proxyRes.Body.Close()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment