Mercurial > public > mercurial-scm > hg
comparison mercurial/hgweb/wsgicgi.py @ 10201:d2847c4523e8 stable
hgweb: improve IIS PATH_INFO fix ee8af8a4d905 (issue1580)
Copy PHP IIS detection.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Sun, 03 Jan 2010 17:26:39 +0100 |
parents | 46293a0c7e9f |
children | 25e572394f5c |
comparison
equal
deleted
inserted
replaced
10194:a275c3997e03 | 10201:d2847c4523e8 |
---|---|
15 util.set_binary(sys.stdin) | 15 util.set_binary(sys.stdin) |
16 util.set_binary(sys.stdout) | 16 util.set_binary(sys.stdout) |
17 | 17 |
18 environ = dict(os.environ.iteritems()) | 18 environ = dict(os.environ.iteritems()) |
19 environ.setdefault('PATH_INFO', '') | 19 environ.setdefault('PATH_INFO', '') |
20 if '.cgi' in environ['PATH_INFO']: | 20 if environ.get('SERVER_SOFTWARE', '').startswith('Microsoft-IIS'): |
21 environ['PATH_INFO'] = environ['PATH_INFO'].split('.cgi', 1)[1] | 21 # IIS includes script_name in path_info |
22 scriptname = environ['SCRIPT_NAME'] | |
23 if environ['PATH_INFO'].startswith(scriptname): | |
24 environ['PATH_INFO'] = environ['PATH_INFO'][len(scriptname):] | |
22 | 25 |
23 environ['wsgi.input'] = sys.stdin | 26 environ['wsgi.input'] = sys.stdin |
24 environ['wsgi.errors'] = sys.stderr | 27 environ['wsgi.errors'] = sys.stderr |
25 environ['wsgi.version'] = (1, 0) | 28 environ['wsgi.version'] = (1, 0) |
26 environ['wsgi.multithread'] = False | 29 environ['wsgi.multithread'] = False |