Show More
@@ -59,15 +59,15 b' class wsgirequest(object):' | |||
|
59 | 59 | for obtaining request parameters, writing HTTP output, etc. |
|
60 | 60 | """ |
|
61 | 61 | def __init__(self, wsgienv, start_response): |
|
62 | version = wsgienv['wsgi.version'] | |
|
62 | version = wsgienv[r'wsgi.version'] | |
|
63 | 63 | if (version < (1, 0)) or (version >= (2, 0)): |
|
64 | 64 | raise RuntimeError("Unknown and unsupported WSGI version %d.%d" |
|
65 | 65 | % version) |
|
66 | self.inp = wsgienv['wsgi.input'] | |
|
67 | self.err = wsgienv['wsgi.errors'] | |
|
68 | self.threaded = wsgienv['wsgi.multithread'] | |
|
69 | self.multiprocess = wsgienv['wsgi.multiprocess'] | |
|
70 | self.run_once = wsgienv['wsgi.run_once'] | |
|
66 | self.inp = wsgienv[r'wsgi.input'] | |
|
67 | self.err = wsgienv[r'wsgi.errors'] | |
|
68 | self.threaded = wsgienv[r'wsgi.multithread'] | |
|
69 | self.multiprocess = wsgienv[r'wsgi.multiprocess'] | |
|
70 | self.run_once = wsgienv[r'wsgi.run_once'] | |
|
71 | 71 | self.env = wsgienv |
|
72 | 72 | self.form = normalize(cgi.parse(self.inp, |
|
73 | 73 | self.env, |
@@ -63,7 +63,7 b' class _httprequesthandler(httpservermod.' | |||
|
63 | 63 | """Prepare .socket of new HTTPServer instance""" |
|
64 | 64 | |
|
65 | 65 | def __init__(self, *args, **kargs): |
|
66 | self.protocol_version = 'HTTP/1.1' | |
|
66 | self.protocol_version = r'HTTP/1.1' | |
|
67 | 67 | httpservermod.basehttprequesthandler.__init__(self, *args, **kargs) |
|
68 | 68 | |
|
69 | 69 | def _log_any(self, fp, format, *args): |
@@ -112,45 +112,45 b' class _httprequesthandler(httpservermod.' | |||
|
112 | 112 | path, query = _splitURI(self.path) |
|
113 | 113 | |
|
114 | 114 | env = {} |
|
115 | env['GATEWAY_INTERFACE'] = 'CGI/1.1' | |
|
116 | env['REQUEST_METHOD'] = self.command | |
|
117 | env['SERVER_NAME'] = self.server.server_name | |
|
118 | env['SERVER_PORT'] = str(self.server.server_port) | |
|
119 | env['REQUEST_URI'] = self.path | |
|
120 | env['SCRIPT_NAME'] = self.server.prefix | |
|
121 | env['PATH_INFO'] = path[len(self.server.prefix):] | |
|
122 | env['REMOTE_HOST'] = self.client_address[0] | |
|
123 | env['REMOTE_ADDR'] = self.client_address[0] | |
|
115 | env[r'GATEWAY_INTERFACE'] = r'CGI/1.1' | |
|
116 | env[r'REQUEST_METHOD'] = self.command | |
|
117 | env[r'SERVER_NAME'] = self.server.server_name | |
|
118 | env[r'SERVER_PORT'] = str(self.server.server_port) | |
|
119 | env[r'REQUEST_URI'] = self.path | |
|
120 | env[r'SCRIPT_NAME'] = self.server.prefix | |
|
121 | env[r'PATH_INFO'] = path[len(self.server.prefix):] | |
|
122 | env[r'REMOTE_HOST'] = self.client_address[0] | |
|
123 | env[r'REMOTE_ADDR'] = self.client_address[0] | |
|
124 | 124 | if query: |
|
125 | env['QUERY_STRING'] = query | |
|
125 | env[r'QUERY_STRING'] = query | |
|
126 | 126 | |
|
127 | 127 | if self.headers.typeheader is None: |
|
128 | env['CONTENT_TYPE'] = self.headers.type | |
|
128 | env[r'CONTENT_TYPE'] = self.headers.type | |
|
129 | 129 | else: |
|
130 | env['CONTENT_TYPE'] = self.headers.typeheader | |
|
130 | env[r'CONTENT_TYPE'] = self.headers.typeheader | |
|
131 | 131 | length = self.headers.getheader('content-length') |
|
132 | 132 | if length: |
|
133 | env['CONTENT_LENGTH'] = length | |
|
133 | env[r'CONTENT_LENGTH'] = length | |
|
134 | 134 | for header in [h for h in self.headers.keys() |
|
135 | 135 | if h not in ('content-type', 'content-length')]: |
|
136 | hkey = 'HTTP_' + header.replace('-', '_').upper() | |
|
137 |
hval = self.headers.get |
|
|
138 | hval = hval.replace('\n', '').strip() | |
|
136 | hkey = r'HTTP_' + header.replace(r'-', r'_').upper() | |
|
137 | hval = self.headers.get(header) | |
|
138 | hval = hval.replace(r'\n', r'').strip() | |
|
139 | 139 | if hval: |
|
140 | 140 | env[hkey] = hval |
|
141 | env['SERVER_PROTOCOL'] = self.request_version | |
|
142 | env['wsgi.version'] = (1, 0) | |
|
143 | env['wsgi.url_scheme'] = self.url_scheme | |
|
144 | if env.get('HTTP_EXPECT', '').lower() == '100-continue': | |
|
141 | env[r'SERVER_PROTOCOL'] = self.request_version | |
|
142 | env[r'wsgi.version'] = (1, 0) | |
|
143 | env[r'wsgi.url_scheme'] = self.url_scheme | |
|
144 | if env.get(r'HTTP_EXPECT', '').lower() == '100-continue': | |
|
145 | 145 | self.rfile = common.continuereader(self.rfile, self.wfile.write) |
|
146 | 146 | |
|
147 | env['wsgi.input'] = self.rfile | |
|
148 | env['wsgi.errors'] = _error_logger(self) | |
|
149 | env['wsgi.multithread'] = isinstance(self.server, | |
|
147 | env[r'wsgi.input'] = self.rfile | |
|
148 | env[r'wsgi.errors'] = _error_logger(self) | |
|
149 | env[r'wsgi.multithread'] = isinstance(self.server, | |
|
150 | 150 | socketserver.ThreadingMixIn) |
|
151 | env['wsgi.multiprocess'] = isinstance(self.server, | |
|
151 | env[r'wsgi.multiprocess'] = isinstance(self.server, | |
|
152 | 152 | socketserver.ForkingMixIn) |
|
153 | env['wsgi.run_once'] = 0 | |
|
153 | env[r'wsgi.run_once'] = 0 | |
|
154 | 154 | |
|
155 | 155 | self.saved_status = None |
|
156 | 156 | self.saved_headers = [] |
@@ -24,28 +24,28 b' def launch(application):' | |||
|
24 | 24 | util.setbinary(util.stdout) |
|
25 | 25 | |
|
26 | 26 | environ = dict(encoding.environ.iteritems()) |
|
27 | environ.setdefault('PATH_INFO', '') | |
|
28 | if environ.get('SERVER_SOFTWARE', '').startswith('Microsoft-IIS'): | |
|
27 | environ.setdefault(r'PATH_INFO', '') | |
|
28 | if environ.get(r'SERVER_SOFTWARE', r'').startswith(r'Microsoft-IIS'): | |
|
29 | 29 | # IIS includes script_name in PATH_INFO |
|
30 | scriptname = environ['SCRIPT_NAME'] | |
|
31 | if environ['PATH_INFO'].startswith(scriptname): | |
|
32 | environ['PATH_INFO'] = environ['PATH_INFO'][len(scriptname):] | |
|
30 | scriptname = environ[r'SCRIPT_NAME'] | |
|
31 | if environ[r'PATH_INFO'].startswith(scriptname): | |
|
32 | environ[r'PATH_INFO'] = environ[r'PATH_INFO'][len(scriptname):] | |
|
33 | 33 | |
|
34 | 34 | stdin = util.stdin |
|
35 | if environ.get('HTTP_EXPECT', '').lower() == '100-continue': | |
|
35 | if environ.get(r'HTTP_EXPECT', r'').lower() == r'100-continue': | |
|
36 | 36 | stdin = common.continuereader(stdin, util.stdout.write) |
|
37 | 37 | |
|
38 | environ['wsgi.input'] = stdin | |
|
39 | environ['wsgi.errors'] = util.stderr | |
|
40 | environ['wsgi.version'] = (1, 0) | |
|
41 | environ['wsgi.multithread'] = False | |
|
42 | environ['wsgi.multiprocess'] = True | |
|
43 | environ['wsgi.run_once'] = True | |
|
38 | environ[r'wsgi.input'] = stdin | |
|
39 | environ[r'wsgi.errors'] = util.stderr | |
|
40 | environ[r'wsgi.version'] = (1, 0) | |
|
41 | environ[r'wsgi.multithread'] = False | |
|
42 | environ[r'wsgi.multiprocess'] = True | |
|
43 | environ[r'wsgi.run_once'] = True | |
|
44 | 44 | |
|
45 | if environ.get('HTTPS', 'off').lower() in ('on', '1', 'yes'): | |
|
46 | environ['wsgi.url_scheme'] = 'https' | |
|
45 | if environ.get(r'HTTPS', r'off').lower() in (r'on', r'1', r'yes'): | |
|
46 | environ[r'wsgi.url_scheme'] = r'https' | |
|
47 | 47 | else: |
|
48 | environ['wsgi.url_scheme'] = 'http' | |
|
48 | environ[r'wsgi.url_scheme'] = r'http' | |
|
49 | 49 | |
|
50 | 50 | headers_set = [] |
|
51 | 51 | headers_sent = [] |
General Comments 0
You need to be logged in to leave comments.
Login now