271
271
remote_path = '/'.join(path_parts)
273
self._http_starting.acquire()
274
self._http_starting.release()
275
273
return self._http_base_url + remote_path
277
275
def log(self, format, *args):
288
286
self._http_base_url = None
289
287
self._http_thread = threading.Thread(target=self._http_start)
290
288
self._http_thread.setDaemon(True)
291
# Ensure we are not influenced by the environment
292
self._http_proxy = os.environ.get("http_proxy")
293
if self._http_proxy is not None:
294
del os.environ["http_proxy"]
295
self._no_proxy = os.environ.get("no_proxy")
296
if self._no_proxy is not None:
297
del os.environ["no_proxy"]
298
289
self._http_thread.start()
290
# Wait for the server thread to start (i.e release the lock)
291
self._http_starting.acquire()
292
self._http_starting.release()
301
295
def tearDown(self):
302
296
"""See bzrlib.transport.Server.tearDown."""
303
297
self._http_running = False
304
298
self._http_thread.join()
305
if self._http_proxy is None:
306
if os.environ.get("http_proxy") is not None:
307
del os.environ["http_proxy"]
309
os.environ["http_proxy"] = self._http_proxy
310
if self._no_proxy is None:
311
if os.environ.get("no_proxy") is not None:
312
del os.environ["no_proxy"]
314
os.environ["no_proxy"] = self.no_proxy
316
300
def get_url(self):
317
301
"""See bzrlib.transport.Server.get_url."""