MCPcopy
hub / github.com/benoitc/gunicorn / _build_environ

Method _build_environ

gunicorn/asgi/protocol.py:1170–1186  ·  view source on GitHub ↗

Build minimal WSGI-like environ dict for access logging.

(self, request, sockname, peername)

Source from the content-addressed store, hash-verified

1168 return scope
1169
1170 def _build_environ(self, request, sockname, peername):
1171 """Build minimal WSGI-like environ dict for access logging."""
1172 environ = {
1173 "REQUEST_METHOD": request.method,
1174 "RAW_URI": request.uri,
1175 "PATH_INFO": request.path,
1176 "QUERY_STRING": request.query or "",
1177 "SERVER_PROTOCOL": f"HTTP/{request.version[0]}.{request.version[1]}",
1178 "REMOTE_ADDR": peername[0] if peername else "-",
1179 }
1180
1181 # Add HTTP headers as environ vars
1182 for name, value in request.headers:
1183 key = "HTTP_" + name.replace("-", "_")
1184 environ[key] = value
1185
1186 return environ
1187
1188 def _build_websocket_scope(self, request, sockname, peername):
1189 """Build ASGI WebSocket scope from parsed request."""

Calls

no outgoing calls