瀏覽代碼

Add redirect and env proxy support to docker login

Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Victor Vieux 11 年之前
父節點
當前提交
4e7254840b
共有 1 個文件被更改,包括 12 次插入5 次删除
  1. 12 5
      registry/auth.go

+ 12 - 5
registry/auth.go

@@ -5,12 +5,13 @@ import (
 	"encoding/json"
 	"errors"
 	"fmt"
-	"github.com/dotcloud/docker/utils"
 	"io/ioutil"
 	"net/http"
 	"os"
 	"path"
 	"strings"
+
+	"github.com/dotcloud/docker/utils"
 )
 
 // Where we store the config file
@@ -152,10 +153,16 @@ func SaveConfig(configFile *ConfigFile) error {
 // try to register/login to the registry server
 func Login(authConfig *AuthConfig, factory *utils.HTTPRequestFactory) (string, error) {
 	var (
-		status        string
-		reqBody       []byte
-		err           error
-		client        = &http.Client{}
+		status  string
+		reqBody []byte
+		err     error
+		client  = &http.Client{
+			Transport: &http.Transport{
+				DisableKeepAlives: true,
+				Proxy:             http.ProxyFromEnvironment,
+			},
+			CheckRedirect: AddRequiredHeadersToRedirectedRequests,
+		}
 		reqStatusCode = 0
 		serverAddress = authConfig.ServerAddress
 	)