160 for h in urlopener.handlers: |
160 for h in urlopener.handlers: |
161 h.close() |
161 h.close() |
162 getattr(h, "close_all", lambda: None)() |
162 getattr(h, "close_all", lambda: None)() |
163 |
163 |
164 def _openurl(self, req): |
164 def _openurl(self, req): |
165 return self._urlopener.open(req) |
165 if (self._ui.debugflag |
|
166 and self._ui.configbool('devel', 'debug.peer-request')): |
|
167 dbg = self._ui.debug |
|
168 line = 'devel-peer-request: %s\n' |
|
169 dbg(line % '%s %s' % (req.get_method(), req.get_full_url())) |
|
170 hgargssize = None |
|
171 |
|
172 for header, value in sorted(req.header_items()): |
|
173 if header.startswith('X-hgarg-'): |
|
174 if hgargssize is None: |
|
175 hgargssize = 0 |
|
176 hgargssize += len(value) |
|
177 else: |
|
178 dbg(line % ' %s %s' % (header, value)) |
|
179 |
|
180 if hgargssize is not None: |
|
181 dbg(line % ' %d bytes of commands arguments in headers' |
|
182 % hgargssize) |
|
183 |
|
184 if req.has_data(): |
|
185 data = req.get_data() |
|
186 length = getattr(data, 'length', None) |
|
187 if length is None: |
|
188 length = len(data) |
|
189 dbg(line % ' %d bytes of data' % length) |
|
190 |
|
191 start = util.timer() |
|
192 |
|
193 ret = self._urlopener.open(req) |
|
194 if self._ui.configbool('devel', 'debug.peer-request'): |
|
195 dbg(line % ' finished in %.4f seconds (%s)' |
|
196 % (util.timer() - start, ret.code)) |
|
197 return ret |
166 |
198 |
167 # Begin of _basepeer interface. |
199 # Begin of _basepeer interface. |
168 |
200 |
169 @util.propertycache |
201 @util.propertycache |
170 def ui(self): |
202 def ui(self): |