mercurial/hgweb/wsgicgi.py
branchstable
changeset 10201 d2847c4523e8
parent 8225 46293a0c7e9f
child 10263 25e572394f5c
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