Skip to content

Instantly share code, notes, and snippets.

@derrickwilliams
Created January 18, 2018 14:51
Show Gist options
  • Select an option

  • Save derrickwilliams/a14003c7c54be45b828a85128f8dfcf1 to your computer and use it in GitHub Desktop.

Select an option

Save derrickwilliams/a14003c7c54be45b828a85128f8dfcf1 to your computer and use it in GitHub Desktop.
golang proxy example
package main
import (
"fmt"
"log"
"net/http"
"net/http/httputil"
"net/url"
"github.com/darkhelmet/env"
)
var (
port = env.IntDefault("PORT", 5000)
)
func main() {
proxyUrl, err := url.Parse(env.String("PROXY_URL"))
if err != nil {
log.Fatalf("failed parsing url: %s", err)
}
proxy := &httputil.ReverseProxy{
Director: func(req *http.Request) {
req.URL.Scheme = proxyUrl.Scheme
req.URL.Host = proxyUrl.Host
req.URL.Path = req.URL.Path
req.Host = proxyUrl.Host
},
}
log.Printf("listening on port %d", port)
http.ListenAndServe(fmt.Sprintf(":%d", port), proxy)
}
@derrickwilliams
Copy link
Author

copied from darkhelmet/proxy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment