mirror of
https://github.com/django/django.git
synced 2025-07-24 05:36:15 +00:00
[1.5.x] Fixed #19519 -- Fired request_finished in the WSGI iterable's close().
Backport of acc5396
.
This commit is contained in:
parent
ac72782e61
commit
fd1279a44d
9 changed files with 111 additions and 20 deletions
|
@ -804,6 +804,8 @@ types of HTTP responses. Like ``HttpResponse``, these subclasses live in
|
|||
:class:`~django.template.response.SimpleTemplateResponse`, and the
|
||||
``render`` method must itself return a valid response object.
|
||||
|
||||
.. _httpresponse-streaming:
|
||||
|
||||
StreamingHttpResponse objects
|
||||
=============================
|
||||
|
||||
|
|
|
@ -448,6 +448,18 @@ request_finished
|
|||
|
||||
Sent when Django finishes processing an HTTP request.
|
||||
|
||||
.. note::
|
||||
|
||||
When a view returns a :ref:`streaming response <httpresponse-streaming>`,
|
||||
this signal is sent only after the entire response is consumed by the
|
||||
client (strictly speaking, by the WSGI gateway).
|
||||
|
||||
.. versionchanged:: 1.5
|
||||
|
||||
Before Django 1.5, this signal was fired before sending the content to the
|
||||
client. In order to accomodate streaming responses, it is now fired after
|
||||
sending the content.
|
||||
|
||||
Arguments sent with this signal:
|
||||
|
||||
``sender``
|
||||
|
|
|
@ -411,6 +411,19 @@ attribute. Developers wishing to access the raw POST data for these cases,
|
|||
should use the :attr:`request.body <django.http.HttpRequest.body>` attribute
|
||||
instead.
|
||||
|
||||
:data:`~django.core.signals.request_finished` signal
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Django used to send the :data:`~django.core.signals.request_finished` signal
|
||||
as soon as the view function returned a response. This interacted badly with
|
||||
:ref:`streaming responses <httpresponse-streaming>` that delay content
|
||||
generation.
|
||||
|
||||
This signal is now sent after the content is fully consumed by the WSGI
|
||||
gateway. This might be backwards incompatible if you rely on the signal being
|
||||
fired before sending the response content to the client. If you do, you should
|
||||
consider using a middleware instead.
|
||||
|
||||
OPTIONS, PUT and DELETE requests in the test client
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue