tests/dumbhttp.py
changeset 31004 d05fefbb5ab3
parent 30506 d9d8d78e6bc9
child 34925 8b95e420e248
equal deleted inserted replaced
31003:225f574e0645 31004:d05fefbb5ab3
     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__':