MCPcopy
hub / github.com/cherrypy/cherrypy / run

Method run

cherrypy/_cpwsgi.py:298–338  ·  view source on GitHub ↗

Create a Request object using environ.

(self)

Source from the content-addressed store, hash-verified

296 _cherrypy.log(traceback=True, severity=40)
297
298 def run(self):
299 """Create a Request object using environ."""
300 env = self.environ.get
301
302 local = httputil.Host(
303 '',
304 int(env('SERVER_PORT', 80) or -1),
305 env('SERVER_NAME', ''),
306 )
307 remote = httputil.Host(
308 env('REMOTE_ADDR', ''),
309 int(env('REMOTE_PORT', -1) or -1),
310 env('REMOTE_HOST', ''),
311 )
312 scheme = env('wsgi.url_scheme')
313 sproto = env('ACTUAL_SERVER_PROTOCOL', 'HTTP/1.1')
314 request, resp = self.cpapp.get_serving(local, remote, scheme, sproto)
315
316 # LOGON_USER is served by IIS, and is the name of the
317 # user after having been mapped to a local account.
318 # Both IIS and Apache set REMOTE_USER, when possible.
319 request.login = env('LOGON_USER') or env('REMOTE_USER') or None
320 request.multithread = self.environ['wsgi.multithread']
321 request.multiprocess = self.environ['wsgi.multiprocess']
322 request.wsgi_environ = self.environ
323 request.prev = env('cherrypy.previous_request', None)
324
325 meth = self.environ['REQUEST_METHOD']
326
327 path = httputil.urljoin(
328 self.environ.get('SCRIPT_NAME', ''),
329 self.environ.get('PATH_INFO', ''),
330 )
331 qs = self.environ.get('QUERY_STRING', '')
332
333 path, qs = self.recode_path_qs(path, qs) or (path, qs)
334
335 rproto = self.environ.get('SERVER_PROTOCOL')
336 headers = self.translate_headers(self.environ)
337 rfile = self.environ['wsgi.input']
338 request.run(meth, path, qs, rproto, headers, rfile)
339
340 headerNames = {
341 'HTTP_CGI_AUTHORIZATION': 'Authorization',

Callers 1

__init__Method · 0.95

Calls 4

recode_path_qsMethod · 0.95
translate_headersMethod · 0.95
get_servingMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected