MCPcopy Index your code
hub / github.com/python/cpython / get_environ

Method get_environ

Lib/wsgiref/simple_server.py:74–105  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

72 server_version = "WSGIServer"
73
74 def get_environ(self):
75 env = self.server.base_environ.copy()
76 env['SERVER_PROTOCOL'] = self.request_version
77 env['SERVER_SOFTWARE'] = self.server_version
78 env['REQUEST_METHOD'] = self.command
79 if '?' in self.path:
80 path,query = self.path.split('?',1)
81 else:
82 path,query = self.path,''
83
84 env['PATH_INFO'] = urllib.parse.unquote(path, 'iso-8859-1')
85 env['QUERY_STRING'] = query
86 env['REMOTE_ADDR'] = self.client_address[0]
87
88 if self.headers.get('content-type') is None:
89 env['CONTENT_TYPE'] = self.headers.get_content_type()
90 else:
91 env['CONTENT_TYPE'] = self.headers['content-type']
92
93 length = self.headers.get('content-length')
94 if length:
95 env['CONTENT_LENGTH'] = length
96
97 for k, v in self.headers.items():
98 k=k.replace('-','_').upper(); v=v.strip()
99 if k in env:
100 continue # skip content length, type,etc.
101 if 'HTTP_'+k in env:
102 env['HTTP_'+k] += ','+v # comma-separate multiple headers
103 else:
104 env['HTTP_'+k] = v
105 return env
106
107 def get_stderr(self):
108 return sys.stderr

Callers 1

handleMethod · 0.95

Calls 8

get_content_typeMethod · 0.80
copyMethod · 0.45
splitMethod · 0.45
getMethod · 0.45
itemsMethod · 0.45
upperMethod · 0.45
replaceMethod · 0.45
stripMethod · 0.45

Tested by

no test coverage detected