add test
diff --git a/util/util_test.go b/util/util_test.go
index 54fd997..15c18b7 100644
--- a/util/util_test.go
+++ b/util/util_test.go
@@ -18,6 +18,8 @@
 	. "github.com/onsi/ginkgo"
 	. "github.com/onsi/gomega"
 
+
+	"net/http/httptest"
 	"github.com/apid/apid-core/util"
 	"math/rand"
 	"net/http"
@@ -61,6 +63,51 @@
 		})
 	})
 
+	Context("Forward Proxy Protocol", func() {
+		It("Verify Forward proxying to server works", func() {
+			var maxIdleConnsPerHost = 1
+			var tr *http.Transport
+			server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+
+			}))
+			fwdPrxyServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+
+
+			}))
+			tr = util.Transport(fwdPrxyServer.URL)
+			tr.MaxIdleConnsPerHost =  maxIdleConnsPerHost
+			var rspcnt int = 0
+			ch := make(chan *http.Response)
+			client := &http.Client{Transport: tr}
+			for i := 0; i < 2*maxIdleConnsPerHost; i++ {
+				go func(client *http.Client) {
+					defer GinkgoRecover()
+					req, err := http.NewRequest("GET", server.URL, nil)
+					req.Header.Set("foo", "bar")
+					resp, err := client.Do(req)
+					if err != nil {
+						Fail("Unable to process Client request")
+					}
+					ch <- resp
+					resp.Body.Close()
+
+				}(client)
+			}
+			for {
+				select {
+				case resp := <-ch:
+					Expect(resp.StatusCode).To(Equal(http.StatusOK))
+					if rspcnt >= 2*maxIdleConnsPerHost-1 {
+						return
+					}
+					rspcnt++
+				default:
+				}
+			}
+
+		}, 3)
+	})
+
 	Context("Long polling utils", func() {
 		It("DistributeEvents", func() {
 			// make test data