summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2011-09-11 12:57:15 -0700
committerShawn O. Pearce <sop@google.com>2011-09-11 13:11:04 -0700
commit014d0609899dba70a1af0b32de377ca08c54aded (patch)
treecffe8353d15a9cf3ab03f3c2e8f244570650fbb4
parent44da16e8a0e919c60a6eb7b5503cf915864d7336 (diff)
downloadgit-repo-014d0609899dba70a1af0b32de377ca08c54aded.tar.gz
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>
-rw-r--r--git_config.py6
-rwxr-xr-xmain.py8
2 files changed, 8 insertions, 6 deletions
diff --git a/git_config.py b/git_config.py
index 289a5b64..19c19f19 100644
--- a/git_config.py
+++ b/git_config.py
@@ -563,12 +563,6 @@ class Remote(object):
563 self._review_port = info[2] 563 self._review_port = info[2]
564 else: 564 else:
565 try: 565 try:
566 if 'http_proxy' in os.environ:
567 proxy_url = os.environ['http_proxy']
568 proxy_support = urllib2.ProxyHandler({"http" : proxy_url, "https" : proxy_url})
569 opener = urllib2.build_opener(proxy_support)
570 urllib2.install_opener(opener)
571
572 info = urlopen(u).read() 566 info = urlopen(u).read()
573 if info == 'NOT_AVAILABLE': 567 if info == 'NOT_AVAILABLE':
574 raise UploadError('%s: SSH disabled' % self.review) 568 raise UploadError('%s: SSH disabled' % self.review)
diff --git a/main.py b/main.py
index f068fd47..48edc1cc 100755
--- a/main.py
+++ b/main.py
@@ -26,6 +26,7 @@ import optparse
26import os 26import os
27import re 27import re
28import sys 28import sys
29import urllib2
29 30
30from trace import SetTrace 31from trace import SetTrace
31from git_config import init_ssh, close_ssh 32from git_config import init_ssh, close_ssh
@@ -199,6 +200,12 @@ def _PruneOptions(argv, opt):
199 continue 200 continue
200 i += 1 201 i += 1
201 202
203def init_http():
204 if 'http_proxy' in os.environ:
205 url = os.environ['http_proxy']
206 proxy_support = urllib2.ProxyHandler({'http': url, 'https': url})
207 urllib2.install_opener(urllib2.build_opener(proxy_support))
208
202def _Main(argv): 209def _Main(argv):
203 opt = optparse.OptionParser(usage="repo wrapperinfo -- ...") 210 opt = optparse.OptionParser(usage="repo wrapperinfo -- ...")
204 opt.add_option("--repo-dir", dest="repodir", 211 opt.add_option("--repo-dir", dest="repodir",
@@ -217,6 +224,7 @@ def _Main(argv):
217 try: 224 try:
218 try: 225 try:
219 init_ssh() 226 init_ssh()
227 init_http()
220 repo._Run(argv) 228 repo._Run(argv)
221 finally: 229 finally:
222 close_ssh() 230 close_ssh()