Mercurial > public > mercurial-scm > hg-stable
diff mercurial/hgweb/server.py @ 5835:bd34f0ac3cb0
adding "prefix" option to "hg serve" (command line and [web] section)
allows "hg serve" to serve from a different path than '/' (server root)
author | Michele Cella <michele.cella@gmail.com> |
---|---|
date | Wed, 09 Jan 2008 11:15:00 +0100 |
parents | 1b365c5723bc |
children | f25070ecf334 |
line wrap: on
line diff
--- a/mercurial/hgweb/server.py Tue Jan 08 21:12:30 2008 -0600 +++ b/mercurial/hgweb/server.py Wed Jan 09 11:15:00 2008 +0100 @@ -76,7 +76,7 @@ self.do_POST() def do_hgweb(self): - path_info, query = _splitURI(self.path) + path, query = _splitURI(self.path) env = {} env['GATEWAY_INTERFACE'] = 'CGI/1.1' @@ -84,8 +84,8 @@ env['SERVER_NAME'] = self.server.server_name env['SERVER_PORT'] = str(self.server.server_port) env['REQUEST_URI'] = self.path - env['SCRIPT_NAME'] = '' - env['PATH_INFO'] = path_info + env['SCRIPT_NAME'] = self.server.prefix + env['PATH_INFO'] = path[len(self.server.prefix):] env['REMOTE_HOST'] = self.client_address[0] env['REMOTE_ADDR'] = self.client_address[0] if query: @@ -206,6 +206,7 @@ myui = repo.ui address = myui.config("web", "address", "") port = int(myui.config("web", "port", 8000)) + prefix = myui.config("web", "prefix", "").rstrip("/") use_ipv6 = myui.configbool("web", "ipv6") webdir_conf = myui.config("web", "webdir_conf") ssl_cert = myui.config("web", "certificate") @@ -254,6 +255,7 @@ addr = socket.gethostname() self.addr, self.port = addr, port + self.prefix = prefix if ssl_cert: try: