##// END OF EJS Templates
httppeer: allow extensions to replace urllib2.Request...
Kyle Lippincott -
r25500:00ecc894 default
parent child Browse files
Show More
@@ -30,6 +30,7 b' class httppeer(wireproto.wirepeer):'
30 self.caps = None
30 self.caps = None
31 self.handler = None
31 self.handler = None
32 self.urlopener = None
32 self.urlopener = None
33 self.requestbuilder = None
33 u = util.url(path)
34 u = util.url(path)
34 if u.query or u.fragment:
35 if u.query or u.fragment:
35 raise util.Abort(_('unsupported URL component: "%s"') %
36 raise util.Abort(_('unsupported URL component: "%s"') %
@@ -42,6 +43,7 b' class httppeer(wireproto.wirepeer):'
42 self.ui.debug('using %s\n' % self._url)
43 self.ui.debug('using %s\n' % self._url)
43
44
44 self.urlopener = url.opener(ui, authinfo)
45 self.urlopener = url.opener(ui, authinfo)
46 self.requestbuilder = urllib2.Request
45
47
46 def __del__(self):
48 def __del__(self):
47 if self.urlopener:
49 if self.urlopener:
@@ -111,7 +113,7 b' class httppeer(wireproto.wirepeer):'
111 q += sorted(args.items())
113 q += sorted(args.items())
112 qs = '?%s' % urllib.urlencode(q)
114 qs = '?%s' % urllib.urlencode(q)
113 cu = "%s%s" % (self._url, qs)
115 cu = "%s%s" % (self._url, qs)
114 req = urllib2.Request(cu, data, headers)
116 req = self.requestbuilder(cu, data, headers)
115 if data is not None:
117 if data is not None:
116 self.ui.debug("sending %s bytes\n" % size)
118 self.ui.debug("sending %s bytes\n" % size)
117 req.add_unredirected_header('Content-Length', '%d' % size)
119 req.add_unredirected_header('Content-Length', '%d' % size)
General Comments 0
You need to be logged in to leave comments. Login now