func handleForServer1(res http.ResponseWriter, req *http.Request) {
rPayload := parseRequestBody(req)
serve("http://server1:8080", res, req)
}
func handleForServer2(res http.ResponseWriter, req *http.Request) {
rPayload := parseRequestBody(req)
serve("http://server2:8080", res, req)
}
func serve(dest string, res http.ResponseWriter, req *http.Request) {
url, _ := url.Parse(dest)
p := httputil.NewSingleHostReverseProxy(url)
req.URL.Host = url.Host
req.URL.Scheme = url.Scheme
req.Header.Set("X-Forwarded-Host", req.Header.Get("Host"))
req.Host = url.Host
p.ServeHTTP(res, req)
}
I have a code like above. I'm wondering if there's a way to find out how many concurrent connections does handler "handleForServe2" has?
Goal for that code is making a reverse proxy function. But, also I'd like to add balance loading based on concurrent connections per server that is connected to.
Thank you so much!