5 """ |
5 """ |
6 Small and dumb HTTP server for use in tests. |
6 Small and dumb HTTP server for use in tests. |
7 """ |
7 """ |
8 |
8 |
9 import optparse |
9 import optparse |
|
10 import os |
10 import signal |
11 import signal |
|
12 import socket |
11 import sys |
13 import sys |
12 |
14 |
13 from mercurial import ( |
15 from mercurial import ( |
14 server, |
16 server, |
15 util, |
17 util, |
16 ) |
18 ) |
17 |
19 |
18 httpserver = util.httpserver |
20 httpserver = util.httpserver |
19 OptionParser = optparse.OptionParser |
21 OptionParser = optparse.OptionParser |
20 |
22 |
|
23 if os.environ.get('HGIPV6', '0') == '1': |
|
24 class simplehttpserver(httpserver.httpserver): |
|
25 address_family = socket.AF_INET6 |
|
26 else: |
|
27 simplehttpserver = httpserver.httpserver |
|
28 |
21 class simplehttpservice(object): |
29 class simplehttpservice(object): |
22 def __init__(self, host, port): |
30 def __init__(self, host, port): |
23 self.address = (host, port) |
31 self.address = (host, port) |
24 def init(self): |
32 def init(self): |
25 self.httpd = httpserver.httpserver( |
33 self.httpd = simplehttpserver( |
26 self.address, httpserver.simplehttprequesthandler) |
34 self.address, httpserver.simplehttprequesthandler) |
27 def run(self): |
35 def run(self): |
28 self.httpd.serve_forever() |
36 self.httpd.serve_forever() |
29 |
37 |
30 if __name__ == '__main__': |
38 if __name__ == '__main__': |