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