Просмотр исходного кода

Create a new instance of HttpAuthenticator every time HTTP 407 response seen in the RoundTrip()

Eugene Fryntov 10 лет назад
Родитель
Сommit
d40160f284
1 измененных файлов с 7 добавлено и 9 удалено
  1. 7 9
      psiphon/upstreamproxy/transport_proxy_auth.go

+ 7 - 9
psiphon/upstreamproxy/transport_proxy_auth.go

@@ -110,16 +110,14 @@ func (tr *ProxyAuthTransport) RoundTrip(req *http.Request) (resp *http.Response,
 			//already wrapped in proxyError
 			return nil, err
 		}
-		if tr.Authenticator == nil {
-			ha, err = NewHttpAuthenticator(resp, tr.Username, tr.Password)
-			if err != nil {
-				return nil, err
-			}
-			if ha.IsConnectionBased() {
-				return nil, proxyError(fmt.Errorf("Connection based auth was not handled by transportConn!"))
-			}
-			tr.Authenticator = ha
+		ha, err = NewHttpAuthenticator(resp, tr.Username, tr.Password)
+		if err != nil {
+			return nil, err
+		}
+		if ha.IsConnectionBased() {
+			return nil, proxyError(fmt.Errorf("Connection based auth was not handled by transportConn!"))
 		}
+		tr.Authenticator = ha
 	authenticationLoop:
 		for {
 			newReq = cloneRequest(req)