Folded django.core.handlers.modpython.populate_apache_request into ModPythonHandler.__call__() to save the overhead of a function call, and because that logic didn't need to be abstracted.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@3876 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2006-09-28 02:07:00 +00:00
parent 15e7805ae4
commit beeb719c12
1 changed files with 13 additions and 16 deletions

View File

@ -160,23 +160,20 @@ class ModPythonHandler(BaseHandler):
dispatcher.send(signal=signals.request_finished)
# Convert our custom HttpResponse object back into the mod_python req.
populate_apache_request(response, req)
return 0 # mod_python.apache.OK
def populate_apache_request(http_response, mod_python_req):
"Populates the mod_python request object with an HttpResponse"
mod_python_req.content_type = http_response['Content-Type']
for key, value in http_response.headers.items():
req.content_type = response['Content-Type']
for key, value in response.headers.items():
if key != 'Content-Type':
mod_python_req.headers_out[key] = value
for c in http_response.cookies.values():
mod_python_req.headers_out.add('Set-Cookie', c.output(header=''))
mod_python_req.status = http_response.status_code
req.headers_out[key] = value
for c in response.cookies.values():
req.headers_out.add('Set-Cookie', c.output(header=''))
req.status = response.status_code
try:
for chunk in http_response:
mod_python_req.write(chunk)
for chunk in response:
req.write(chunk)
finally:
http_response.close()
response.close()
return 0 # mod_python.apache.OK
def handler(req):
# mod_python hooks into this function.