diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2019-12-29 12:47:31 -0500 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2019-12-29 12:47:31 -0500 |
commit | a5b66a8581b758aff763765857359ef540631202 (patch) | |
tree | 9404571514fbe550c98a939bd4458d97e1bf1dd2 /setuptools/tests/server.py | |
parent | d53e024af2f5d8f3a4a36588c3dc004d156bc830 (diff) | |
parent | e6bdf25f6ab5bf4d32b0f9affa0ab98ea35f3a29 (diff) | |
download | external_python_setuptools-a5b66a8581b758aff763765857359ef540631202.tar.gz external_python_setuptools-a5b66a8581b758aff763765857359ef540631202.tar.bz2 external_python_setuptools-a5b66a8581b758aff763765857359ef540631202.zip |
Merge branch 'master' into feature/include-pyproject.toml
Diffstat (limited to 'setuptools/tests/server.py')
-rw-r--r-- | setuptools/tests/server.py | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/setuptools/tests/server.py b/setuptools/tests/server.py index 35312120..8b17b081 100644 --- a/setuptools/tests/server.py +++ b/setuptools/tests/server.py @@ -1,10 +1,13 @@ """Basic http server for tests to simulate PyPI or custom indexes """ +import os import time import threading from setuptools.extern.six.moves import BaseHTTPServer, SimpleHTTPServer +from setuptools.extern.six.moves.urllib_parse import urljoin +from setuptools.extern.six.moves.urllib.request import pathname2url class IndexServer(BaseHTTPServer.HTTPServer): @@ -19,10 +22,11 @@ class IndexServer(BaseHTTPServer.HTTPServer): s.stop() """ - def __init__(self, server_address=('', 0), + def __init__( + self, server_address=('', 0), RequestHandlerClass=SimpleHTTPServer.SimpleHTTPRequestHandler): - BaseHTTPServer.HTTPServer.__init__(self, server_address, - RequestHandlerClass) + BaseHTTPServer.HTTPServer.__init__( + self, server_address, RequestHandlerClass) self._run = True def start(self): @@ -56,10 +60,11 @@ class MockServer(BaseHTTPServer.HTTPServer, threading.Thread): A simple HTTP Server that records the requests made to it. """ - def __init__(self, server_address=('', 0), + def __init__( + self, server_address=('', 0), RequestHandlerClass=RequestRecorder): - BaseHTTPServer.HTTPServer.__init__(self, server_address, - RequestHandlerClass) + BaseHTTPServer.HTTPServer.__init__( + self, server_address, RequestHandlerClass) threading.Thread.__init__(self) self.setDaemon(True) self.requests = [] @@ -68,5 +73,19 @@ class MockServer(BaseHTTPServer.HTTPServer, threading.Thread): self.serve_forever() @property + def netloc(self): + return 'localhost:%s' % self.server_port + + @property def url(self): - return 'http://localhost:%(server_port)s/' % vars(self) + return 'http://%s/' % self.netloc + + +def path_to_url(path, authority=None): + """ Convert a path to a file: URL. """ + path = os.path.normpath(os.path.abspath(path)) + base = 'file:' + if authority is not None: + base += '//' + authority + url = urljoin(base, pathname2url(path)) + return url |