##// END OF EJS Templates
httppeer: extract code for performing an HTTP request...
Gregory Szorc -
r37566:8e7a4435 default
parent child Browse files
Show More
@@ -138,24 +138,14 b' class _multifile(object):'
138 138 f.seek(0)
139 139 self._index = 0
140 140
141 class httppeer(wireproto.wirepeer):
142 def __init__(self, ui, path, url, opener, requestbuilder):
143 self.ui = ui
144 self._path = path
145 self._url = url
146 self._caps = None
147 self._urlopener = opener
148 self._requestbuilder = requestbuilder
141 def sendrequest(ui, opener, req):
142 """Send a prepared HTTP request.
149 143
150 def __del__(self):
151 for h in self._urlopener.handlers:
152 h.close()
153 getattr(h, "close_all", lambda: None)()
154
155 def _openurl(self, req):
156 if (self.ui.debugflag
157 and self.ui.configbool('devel', 'debug.peer-request')):
158 dbg = self.ui.debug
144 Returns the response object.
145 """
146 if (ui.debugflag
147 and ui.configbool('devel', 'debug.peer-request')):
148 dbg = ui.debug
159 149 line = 'devel-peer-request: %s\n'
160 150 dbg(line % '%s %s' % (req.get_method(), req.get_full_url()))
161 151 hgargssize = None
@@ -181,11 +171,26 b' class httppeer(wireproto.wirepeer):'
181 171
182 172 start = util.timer()
183 173
184 ret = self._urlopener.open(req)
185 if self.ui.configbool('devel', 'debug.peer-request'):
174 res = opener.open(req)
175 if ui.configbool('devel', 'debug.peer-request'):
186 176 dbg(line % ' finished in %.4f seconds (%s)'
187 % (util.timer() - start, ret.code))
188 return ret
177 % (util.timer() - start, res.code))
178
179 return res
180
181 class httppeer(wireproto.wirepeer):
182 def __init__(self, ui, path, url, opener, requestbuilder):
183 self.ui = ui
184 self._path = path
185 self._url = url
186 self._caps = None
187 self._urlopener = opener
188 self._requestbuilder = requestbuilder
189
190 def __del__(self):
191 for h in self._urlopener.handlers:
192 h.close()
193 getattr(h, "close_all", lambda: None)()
189 194
190 195 # Begin of ipeerconnection interface.
191 196
@@ -322,7 +327,7 b' class httppeer(wireproto.wirepeer):'
322 327 self.ui.debug("sending %d bytes\n" % size)
323 328 req.add_unredirected_header(r'Content-Length', r'%d' % size)
324 329 try:
325 resp = self._openurl(req)
330 resp = sendrequest(self.ui, self._urlopener, req)
326 331 except urlerr.httperror as inst:
327 332 if inst.code == 401:
328 333 raise error.Abort(_('authorization failed'))
General Comments 0
You need to be logged in to leave comments. Login now