annotate contrib/win32/hgwebdir_wsgi.py @ 45055:4c1b4805db57

pycompat: change users of pycompat.{stdin,stdout,stderr} to use procutil.std* On Python 3, pycompat.{stdin,stdout,stderr} are usually block-buffered even if connected to a TTY. procutil.{stdin,stdout,stderr} provide consistent behavior across platforms and Python versions.
author Manuel Jacob <me@manueljacob.de>
date Mon, 06 Jul 2020 17:44:25 +0200
parents 2372284d9457
children 6000f5b25c9b
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 # - 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
10 # 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
11 # - IIS 7 or newer
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
12 #
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 # Installation and use:
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
15 #
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
16 # - 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
17 # https://github.com/hexdump42/isapi-wsgi
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
18 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
19 # - 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
20 # 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
21 # script there.
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
22 #
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
23 # - 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
24 # 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
25 # 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
26 # directory as this script.
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
27 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
28 # - 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
29 # .NET CLR Version: No Managed Code
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
30 # 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
31 # 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
32 # 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
33 #
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
34 # - 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
35 # 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
36 # directory you created.
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
37 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
38 # - 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
39 # 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
40 # 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
41 # 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
42 # 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
43 #
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
44 # <?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
45 # <configuration>
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
46 # <system.webServer>
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
47 # <handlers accessPolicy="Read, Script">
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
48 # <clear />
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
49 # <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
50 # 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
51 # resourceType="Unspecified" requireAccess="None"
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
52 # preCondition="bitness64" />
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
53 # </handlers>
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
54 # </system.webServer>
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
55 # </configuration>
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
56 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
57 # 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
58 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
59 # - 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
60 # 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
61 #
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
62 # - 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
63 # 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
64 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
65 # [web]
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
66 # style = gitweb
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
67 # push_ssl = false
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
68 # allow_push = *
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
69 # encoding = utf8
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
70 #
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
71 # [server]
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
72 # validate = true
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
73 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
74 # [paths]
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
75 # repo1 = c:\your\directory\repo1
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
76 # repo2 = c:\your\directory\repo2
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
77 #
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
78 # - 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
79 #
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
80
29385
aa1d56003872 py3: shift from __future__ import absolute import to beginning (issue5269)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28521
diff changeset
81 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
82
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
83 # Configuration file location
28187
d3da97e58d42 hgwebdir_wsgi: update script and expand help
Sune Foldager <sune.foldager@edlund.dk>
parents: 22198
diff changeset
84 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
85
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
86 # Global settings for IIS path translation
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
diff changeset
87 path_strip = 0 # Strip this many path elements off (when using url rewrite)
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
88 path_prefix = 1 # This many path elements are prefixes (depends on the
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
diff changeset
89 # virtual path of the IIS application).
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
90
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
91 import sys
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
92
10586
efd3b71fc293 win32/hgwebdir_wsgi: clarify documentation and clean up script a bit
Sune Foldager <cryo@cyanite.org>
parents: 10578
diff changeset
93 # Adjust python path if this is not a system-wide install
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
diff changeset
94 # 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
95
efd3b71fc293 win32/hgwebdir_wsgi: clarify documentation and clean up script a bit
Sune Foldager <cryo@cyanite.org>
parents: 10578
diff changeset
96 # 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
97 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
98 import win32traceutil
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
diff changeset
99
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
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):
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
diff changeset
108 error_status = '500 Internal Server Error' # less silly error message
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
diff changeset
109
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
110
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
111 isapi_wsgi.IsapiWsgiHandler = WsgiHandler
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
112
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
113 # Only create the hgwebdir instance once
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
114 application = hgwebdir(hgweb_config)
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
115
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
diff changeset
116
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
117 def handler(environ, start_response):
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
118
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
119 # Translate IIS's weird URLs
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
120 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
121 paths = url[1:].split('/')[path_strip:]
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
122 script_name = '/' + '/'.join(paths[:path_prefix])
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
123 path_info = '/'.join(paths[path_prefix:])
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
124 if path_info:
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
125 path_info = '/' + path_info
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
126 environ['SCRIPT_NAME'] = script_name
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
127 environ['PATH_INFO'] = path_info
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 return application(environ, start_response)
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
130
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
diff changeset
131
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
132 def __ExtensionFactory__():
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
133 return isapi_wsgi.ISAPISimpleHandler(handler)
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
134
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
diff changeset
135
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
diff changeset
136 if __name__ == '__main__':
22198
77142de48ae4 cleanup: make sure we always access members of imported modules
Mads Kiilerich <madski@unity3d.com>
parents: 17424
diff changeset
137 from isapi.install import ISAPIParameters, HandleCommandLine
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41849
diff changeset
138
10572
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
139 params = ISAPIParameters()
704af22f4907 add wsgi script for Microsoft IIS with isapi-wsgi
Sune Foldager <cryo@cyanite.org>
parents:
diff changeset
140 HandleCommandLine(params)