annotate contrib/win32/hgwebdir_wsgi.py @ 41720:6704696141b8

templates: adding a config() function for template customization This allows templates to be written such that users can customize them easily, or that they can be customized based on other configuration of the system. For enterprise deployments, we often have complex template aliases, and right now the only way individual users can customize those is by replacing the whole template alias (which means they won't get company-wide updates to it anymore, plus most users don't want to have to get a complex template right). With this change, they can just set a config option which feeds into our templates for common changes (e.g. whether to limit commit descriptions to the width of their terminal or not). To work around the issue of having to register the config options, I declared a dedicated section [templateconfig] for these options to be dynamically declared. They can still reference any other config option that's registered elsewhere. I only did string, bool and int at this time - list and date would add other complications with parsing the default so I'll leave that as an exercise to the reader :) Differential Revision: https://phab.mercurial-scm.org/D5959
author rdamazio@google.com
date Wed, 13 Feb 2019 18:34:08 -0800
parents aa1d56003872
children d22198b4b3dd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
1 # An example WSGI script for IIS/isapi-wsgi to export multiple hgweb repos
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
2 # Copyright 2010-2016 Sune Foldager <cyano@me.com>
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
3 #
10578
36715cd6ee3d win32/hgwebdir_wsgi: clarify copyright license
Martin Geisler <mg@lazybytes.net>
parents: 10572
diff changeset
4 # This software may be used and distributed according to the terms of the
36715cd6ee3d win32/hgwebdir_wsgi: clarify copyright license
Martin Geisler <mg@lazybytes.net>
parents: 10572
diff changeset
5 # GNU General Public License version 2 or any later version.
36715cd6ee3d win32/hgwebdir_wsgi: clarify copyright license
Martin Geisler <mg@lazybytes.net>
parents: 10572
diff changeset
6 #
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
7 # Requirements:
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
8 # - Python 2.7, preferably 64 bit
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
9 # - PyWin32 for Python 2.7 (32 or 64 bit)
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
10 # - Mercurial installed from source (python setup.py install) or download the
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
11 # python module installer from https://www.mercurial-scm.org/wiki/Download
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
12 # - IIS 7 or newer
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
13 #
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
14 #
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
15 # Installation and use:
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
16 #
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
17 # - Download or clone the isapi-wsgi source and run python setup.py install.
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
18 # https://github.com/hexdump42/isapi-wsgi
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
19 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
20 # - Create a directory to hold the shim dll, config files etc. This can reside
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
21 # inside the standard IIS directory, C:\inetpub, or anywhere else. Copy this
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
22 # script there.
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
23 #
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
24 # - Run this script (i.e. python hgwebdir_wsgi.py) to get a shim dll. The
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
25 # shim is identical for all scripts, so you can just copy and rename one
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
26 # from an earlier run, if you wish. The shim needs to reside in the same
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
27 # directory as this script.
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
28 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
29 # - Start IIS manager and create a new app pool:
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
30 # .NET CLR Version: No Managed Code
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
31 # Advanced Settings: Enable 32 Bit Applications, if using 32 bit Python.
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
32 # You can adjust the identity and maximum worker processes if you wish. This
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
33 # setup works fine with multiple worker processes.
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
34 #
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
35 # - Create an IIS application where your hgwebdir is to be served from.
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
36 # Assign it the app pool you just created and point its physical path to the
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
37 # directory you created.
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
38 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
39 # - In the application, remove all handler mappings and setup a wildcard script
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
40 # handler mapping of type IsapiModule with the shim dll as its executable.
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
41 # This file MUST reside in the same directory as the shim. The easiest way
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
42 # to do all this is to close IIS manager, place a web.config file in your
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
43 # directory and start IIS manager again. The file should contain:
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
44 #
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
45 # <?xml version="1.0" encoding="UTF-8"?>
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
46 # <configuration>
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
47 # <system.webServer>
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
48 # <handlers accessPolicy="Read, Script">
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
49 # <clear />
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
50 # <add name="hgwebdir" path="*" verb="*" modules="IsapiModule"
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
51 # scriptProcessor="C:\your\directory\_hgwebdir_wsgi.dll"
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
52 # resourceType="Unspecified" requireAccess="None"
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
53 # preCondition="bitness64" />
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
54 # </handlers>
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
55 # </system.webServer>
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
56 # </configuration>
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
57 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
58 # Where "bitness64" should be replaced with "bitness32" for 32 bit Python.
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
59 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
60 # - Edit ISAPI And CGI Restrictions on the web server (global setting). Add a
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
61 # restriction pointing to your shim dll and allow it to run.
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
62 #
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
63 # - Create a configuration file in your directory and adjust the configuration
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
64 # variables below to match your needs. Example configuration:
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
65 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
66 # [web]
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
67 # style = gitweb
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
68 # push_ssl = false
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
69 # allow_push = *
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
70 # encoding = utf8
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
71 #
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
72 # [server]
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
73 # validate = true
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
74 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
75 # [paths]
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
76 # repo1 = c:\your\directory\repo1
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
77 # repo2 = c:\your\directory\repo2
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
78 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
79 # - Restart the web server and see if things are running.
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
80 #
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
81
29385
aa1d56003872 py3: shift from __future__ import absolute import to beginning (issue5269)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28521
diff changeset
82 from __future__ import absolute_import
aa1d56003872 py3: shift from __future__ import absolute import to beginning (issue5269)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28521
diff changeset
83
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
84 # Configuration file location
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
85 hgweb_config = r'c:\your\directory\wsgi.config'
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
86
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
87 # Global settings for IIS path translation
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
88 path_strip = 0 # Strip this many path elements off (when using url rewrite)
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
89 path_prefix = 1 # This many path elements are prefixes (depends on the
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
90 # virtual path of the IIS application).
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
91
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
92 import sys
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
93
10586
efd3b71fc293 win32/hgwebdir_wsgi: clarify documentation and clean up script a bit
Sune Foldager <cryo@cyanite.org>
parents: 10578
diff changeset
94 # Adjust python path if this is not a system-wide install
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
95 #sys.path.insert(0, r'C:\your\custom\hg\build\lib.win32-2.7')
10586
efd3b71fc293 win32/hgwebdir_wsgi: clarify documentation and clean up script a bit
Sune Foldager <cryo@cyanite.org>
parents: 10578
diff changeset
96
efd3b71fc293 win32/hgwebdir_wsgi: clarify documentation and clean up script a bit
Sune Foldager <cryo@cyanite.org>
parents: 10578
diff changeset
97 # Enable tracing. Run 'python -m win32traceutil' to debug
14974
a2aa75118837 win32/hgwebdir_wsgi: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com>
parents: 10586
diff changeset
98 if getattr(sys, 'isapidllhandle', None) is not None:
10586
efd3b71fc293 win32/hgwebdir_wsgi: clarify documentation and clean up script a bit
Sune Foldager <cryo@cyanite.org>
parents: 10578
diff changeset
99 import win32traceutil
22198
77142de48ae4 cleanup: make sure we always access members of imported modules
Mads Kiilerich <madski@unity3d.com>
parents: 17424
diff changeset
100 win32traceutil.SetupForPrint # silence unused import warning
10586
efd3b71fc293 win32/hgwebdir_wsgi: clarify documentation and clean up script a bit
Sune Foldager <cryo@cyanite.org>
parents: 10578
diff changeset
101
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
102 import isapi_wsgi
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
103 from mercurial.hgweb.hgwebdir_mod import hgwebdir
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
104
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
105 # Example tweak: Replace isapi_wsgi's handler to provide better error message
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
106 # Other stuff could also be done here, like logging errors etc.
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
107 class WsgiHandler(isapi_wsgi.IsapiWsgiHandler):
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
108 error_status = '500 Internal Server Error' # less silly error message
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
109
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
110 isapi_wsgi.IsapiWsgiHandler = WsgiHandler
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
111
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
112 # Only create the hgwebdir instance once
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
113 application = hgwebdir(hgweb_config)
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
114
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
115 def handler(environ, start_response):
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
116
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
117 # Translate IIS's weird URLs
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
118 url = environ['SCRIPT_NAME'] + environ['PATH_INFO']
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
119 paths = url[1:].split('/')[path_strip:]
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
120 script_name = '/' + '/'.join(paths[:path_prefix])
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
121 path_info = '/'.join(paths[path_prefix:])
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
122 if path_info:
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
123 path_info = '/' + path_info
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
124 environ['SCRIPT_NAME'] = script_name
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
125 environ['PATH_INFO'] = path_info
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
126
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
127 return application(environ, start_response)
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
128
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
129 def __ExtensionFactory__():
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
130 return isapi_wsgi.ISAPISimpleHandler(handler)
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
131
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
132 if __name__=='__main__':
22198
77142de48ae4 cleanup: make sure we always access members of imported modules
Mads Kiilerich <madski@unity3d.com>
parents: 17424
diff changeset
133 from isapi.install import ISAPIParameters, HandleCommandLine
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
134 params = ISAPIParameters()
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
135 HandleCommandLine(params)