changeset 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 a275c3997e03
children dcaa80294c79 6e26e3c2083f
files mercurial/hgweb/wsgicgi.py
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/hgweb/wsgicgi.py	Fri Jan 01 17:58:35 2010 -0600
+++ b/mercurial/hgweb/wsgicgi.py	Sun Jan 03 17:26:39 2010 +0100
@@ -17,8 +17,11 @@
 
     environ = dict(os.environ.iteritems())
     environ.setdefault('PATH_INFO', '')
-    if '.cgi' in environ['PATH_INFO']:
-        environ['PATH_INFO'] = environ['PATH_INFO'].split('.cgi', 1)[1]
+    if environ.get('SERVER_SOFTWARE', '').startswith('Microsoft-IIS'):
+        # IIS includes script_name in path_info
+        scriptname = environ['SCRIPT_NAME']
+        if environ['PATH_INFO'].startswith(scriptname):
+            environ['PATH_INFO'] = environ['PATH_INFO'][len(scriptname):]
 
     environ['wsgi.input'] = sys.stdin
     environ['wsgi.errors'] = sys.stderr