Honor http_proxy variable globally
If the http_proxy environment variable was set, honor it during
the entire repo session for any Python created HTTP connections.
Change-Id: Ib4ae833cb2cdd47ab0126949f6b399d2c142887d
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/git_config.py b/git_config.py
index 289a5b6..19c19f1 100644
--- a/git_config.py
+++ b/git_config.py
@@ -563,12 +563,6 @@
self._review_port = info[2]
else:
try:
- if 'http_proxy' in os.environ:
- proxy_url = os.environ['http_proxy']
- proxy_support = urllib2.ProxyHandler({"http" : proxy_url, "https" : proxy_url})
- opener = urllib2.build_opener(proxy_support)
- urllib2.install_opener(opener)
-
info = urlopen(u).read()
if info == 'NOT_AVAILABLE':
raise UploadError('%s: SSH disabled' % self.review)
diff --git a/main.py b/main.py
index f068fd4..48edc1c 100755
--- a/main.py
+++ b/main.py
@@ -26,6 +26,7 @@
import os
import re
import sys
+import urllib2
from trace import SetTrace
from git_config import init_ssh, close_ssh
@@ -199,6 +200,12 @@
continue
i += 1
+def init_http():
+ if 'http_proxy' in os.environ:
+ url = os.environ['http_proxy']
+ proxy_support = urllib2.ProxyHandler({'http': url, 'https': url})
+ urllib2.install_opener(urllib2.build_opener(proxy_support))
+
def _Main(argv):
opt = optparse.OptionParser(usage="repo wrapperinfo -- ...")
opt.add_option("--repo-dir", dest="repodir",
@@ -217,6 +224,7 @@
try:
try:
init_ssh()
+ init_http()
repo._Run(argv)
finally:
close_ssh()