gddo-server: parameterize newHTTPClient on Viper config

Change-Id: I32115eecf1689c5d32c080b686df422ddddd0d61
Reviewed-on: https://go-review.googlesource.com/66933
Reviewed-by: Tuo Shan <shantuo@google.com>
diff --git a/gddo-server/client.go b/gddo-server/client.go
index 14b65a3..1455ead 100644
--- a/gddo-server/client.go
+++ b/gddo-server/client.go
@@ -20,12 +20,12 @@
 	"github.com/golang/gddo/httputil"
 )
 
-func newHTTPClient() *http.Client {
-	requestTimeout := viper.GetDuration(ConfigRequestTimeout)
+func newHTTPClient(v *viper.Viper) *http.Client {
+	requestTimeout := v.GetDuration(ConfigRequestTimeout)
 	t := &http.Transport{
 		Proxy: http.ProxyFromEnvironment,
 		Dial: (&net.Dialer{
-			Timeout:   viper.GetDuration(ConfigDialTimeout),
+			Timeout:   v.GetDuration(ConfigDialTimeout),
 			KeepAlive: requestTimeout / 2,
 		}).Dial,
 		ResponseHeaderTimeout: requestTimeout / 2,
@@ -33,7 +33,7 @@
 	}
 
 	var rt http.RoundTripper
-	if addr := viper.GetString(ConfigMemcacheAddr); addr != "" {
+	if addr := v.GetString(ConfigMemcacheAddr); addr != "" {
 		ct := httpcache.NewTransport(memcache.New(addr))
 		ct.Transport = t
 		rt = httputil.NewAuthTransport(ct)
diff --git a/gddo-server/main.go b/gddo-server/main.go
index 793c615..8ac09ad 100644
--- a/gddo-server/main.go
+++ b/gddo-server/main.go
@@ -846,7 +846,7 @@
 
 func main() {
 	doc.SetDefaultGOOS(viper.GetString(ConfigDefaultGOOS))
-	httpClient = newHTTPClient()
+	httpClient = newHTTPClient(viper.GetViper())
 
 	var (
 		gceLogName string