Allan Feldman
36fa071d6e
Fixed #32889 -- Allowed per-request sync_to_async context in ASGIHandler .
...
By using a asgiref's ThreadSensitiveContext context manager, requests
will be able to execute independently of other requests when sync work
is involved.
Prior to this commit, a single global thread was used to execute any
sync work independent of the request from which that work was scheduled.
This could result in contention for the global sync thread in the case
of a slow sync function.
Requests are now isolated to their own sync thread.
2021-07-01 12:13:19 +02:00
Adam Johnson
8c7ff7b8cf
Removed unreachable SystemExit check.
...
This check dates back to Python <2.5, before Python introduced
BaseException to prevent exactly unwarranted catching of SystemExit
(and others).
response_for_exception() is only called under `except Exception` or
`except Http404` so it's now impossible for a SystemExit instance to
reach the branch.
2021-01-19 07:04:53 +01:00
Mariusz Felisiak
98ad327864
Fixed #32299 -- Prevented mutating handlers when processing middlewares marking as unused in an async context.
...
Thanks Hubert Bielenia for the report.
2020-12-29 09:04:35 +01:00
Carlton Gibson
e17ee44688
Fixed #32128 -- Added asgiref 3.3 compatibility.
...
Thread sensitive parameter is True by default from asgiref v3.3.0.
Added an explicit thread_sensitive=False to previously implicit uses.
2020-10-27 11:24:07 +01:00
Hasan Ramezani
2808cdc8fb
Fixed #31962 -- Made SessionMiddleware raise SessionInterrupted when session destroyed while request is processing.
2020-09-09 09:04:28 +02:00
Adam Johnson
6e5041f57c
Removed unused param_dict return from URLResolver.resolve_error_handler().
...
Unused since its introduction in ed114e1510
.
2020-06-22 21:28:56 +02:00
Mariusz Felisiak
d94a9aa055
Refs #31040 , Refs #31224 -- Prevented cycles in exceptions chain.
...
Async exception handling was raising an exception that was creating a
cycle in the exception chain (by re-raising an exception in
sync_to_async that was already being handled).
Thanks Chris Jerdonek for detailed analysis.
2020-05-28 13:05:15 +02:00
François Freitag
7cd88b3fec
Updated logging calls to use arguments instead of string interpolation.
2020-05-13 09:12:18 +02:00
Carlton Gibson
92507bf3ea
Fixed #31515 -- Made ASGIHandler dispatch lifecycle signals with thread sensitive.
2020-05-06 09:42:02 +02:00
Andrew Godwin
fc0fa72ff4
Fixed #31224 -- Added support for asynchronous views and middleware.
...
This implements support for asynchronous views, asynchronous tests,
asynchronous middleware, and an asynchronous test client.
2020-03-18 19:59:12 +01:00
Andrew Godwin
1e858adf7f
Refs #31224 -- Added BaseHandler.check_response().
2020-02-19 13:20:16 +01:00
Florian Apolloner
41a3b3d186
Fixed #31240 -- Properly closed FileResponse when wsgi.file_wrapper is used.
...
Thanks to Oskar Persson for the report.
2020-02-11 20:39:12 +01:00
Hasan Ramezani
e3d0b4d550
Fixed #30899 -- Lazily compiled import time regular expressions.
2019-10-29 09:22:26 +01:00
Jon Dufresne
d0861fcb2d
Refs #23919 -- Replaced super(ASGIHandler, self) with super().
2019-08-26 08:36:56 +02:00
Carlton Gibson
eea0bf7bd5
Refs #30669 -- Removed incorrect branch in ASGIHander.read_body().
...
None is not valid for settings.FILE_UPLOAD_MAX_MEMORY_SIZE.
Always use SpooledTemporaryFile.
2019-07-31 13:33:01 +02:00
Piotr Domanski
4b4e68a7a6
Fixed #30567 -- Made WSGIHandler pass FileResponse.block_size to wsgi.file_wrapper.
2019-07-26 07:31:51 +02:00
Mariusz Felisiak
7f19e37135
Refs #30451 -- Added more tests for ASGIRequest and ASGIHandler.
2019-06-20 12:29:58 +02:00
Andrew Godwin
a415ce70be
Fixed #30451 -- Added ASGI handler and coroutine-safety.
...
This adds an ASGI handler, asgi.py file for the default project layout,
a few async utilities and adds async-safety to many parts of Django.
2019-06-20 12:29:43 +02:00
Mariusz Felisiak
415e899dc4
Refs #30451 -- Added HttpRequest._set_content_type_params() hook.
2019-06-15 10:29:02 -07:00
Tim Graham
bff5ccff75
Refs #24829 -- Removed TemplateResponse rendering in BaseHandler.get_response().
...
Obsolete since 742ea51413
.
2018-11-20 11:04:44 -05:00
Tim Graham
3529d0eabf
Corrected docs and removed unused code for got_request_exception signal's sender argument.
...
Inaccurate since 7d1b69dbe7
.
2018-11-20 10:15:58 -05:00
Tim Graham
cafb34963c
Removed BaseHandler.get_exception_response().
...
Unused since 7d1b69dbe7
.
2018-11-20 09:45:29 -05:00
Sergey Fedoseev
8ef8bc0f64
Refs #28909 -- Simplifed code using unpacking generalizations.
2018-09-28 09:57:12 -04:00
Matthew Power
18098d261f
Fixed #29673 -- Reset the URLconf at the end of each request.
...
Co-authored-by: Ross Thorne <rmwthorne@googlemail.com>
2018-09-26 15:35:24 -04:00
Jon Dufresne
82f286cf6f
Refs #29784 -- Switched to https:// links where available.
2018-09-26 08:48:47 +02:00
Josh Schneier
98e8c0293b
Removed unused HttpRequest._post_parse_error attribute.
...
Unused since 8f8c54f70b
.
2018-06-07 18:51:33 -04:00
Daniel Hepper
4e016d1372
Removed obsolete BaseHandler attributes.
...
Unused since d334f46b7a
.
2018-05-27 11:21:27 -04:00
Samir Shah
10b44e4525
Fixed #26688 -- Fixed HTTP request logging inconsistencies.
...
* Added logging of 500 responses for instantiated responses.
* Added logging of all 4xx and 5xx responses.
2018-05-04 20:55:03 -04:00
Tim Graham
d0a42a14c0
Fixed imports per isort 4.3.1.
...
Partially reverted 9bcf73d788
.
2018-02-02 14:44:07 -05:00
Mariusz Felisiak
9bcf73d788
Fixed imports per isort 4.3.0.
2018-02-01 09:29:46 +01:00
Дилян Палаузов
d7b2aa24f7
Fixed #28982 -- Simplified code with and/or.
2018-01-03 20:12:23 -05:00
Nick Pope
d13a9e44de
Fixed #28909 -- Simplified code using tuple/list/set/dict unpacking.
2017-12-11 07:08:45 -05:00
Дилян Палаузов
c69e4bc691
Fixed #28769 -- Replaced 'x if x else y' with 'x or y'.
2017-11-07 09:08:46 -05:00
Sergey Fedoseev
8b2515a450
Removed unneeded __init__() methods.
2017-09-07 08:10:49 -04:00
Claude Paroz
301de774c2
Refs #27795 -- Replaced many force_text() with str()
...
Thanks Tim Graham for the review.
2017-04-27 09:10:02 +02:00
Claude Paroz
8346680e1c
Refs #27795 -- Removed unneeded force_text calls
...
Thanks Tim Graham for the review.
2017-03-04 18:18:21 +01:00
Asif Saifuddin Auvi
5f3a689f71
Imported django.http classes instead of django.http.
2017-02-27 14:47:11 -05:00
Anton Samarchyan
5a6f70b428
Refs #27656 -- Updated django.core docstring verbs according to PEP 257.
2017-02-21 11:58:42 -05:00
amalia
2f10216f84
Fixed #27820 -- Fixed RequestDataTooBig/TooManyFieldsSent crash.
2017-02-13 16:19:03 -05:00
Tim Graham
500532c95d
Refs #23919 -- Removed default 'utf-8' argument for str.encode()/decode().
2017-02-09 09:03:47 -05:00
Vytis Banaitis
d1bab24e01
Refs #23919 , #27778 -- Removed obsolete mentions of unicode.
2017-01-26 08:19:27 -05:00
chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Tim Graham
9e6e32bf5d
Refs #23919 -- Removed django.utils.decorators.available_attrs() usage.
...
It's only needed to workaround a bug on Python 2.
2017-01-21 13:20:17 -05:00
Claude Paroz
042b7350a0
Refs #23919 -- Removed unneeded str() calls
2017-01-20 14:13:55 +01:00
Claude Paroz
dc8834cad4
Refs #23919 -- Removed unneeded force_str calls
2017-01-20 08:44:31 +01:00
Simon Charette
cecc079168
Refs #23919 -- Stopped inheriting from object to define new style classes.
2017-01-19 08:39:46 +01:00
Claude Paroz
7b2f2e74ad
Refs #23919 -- Removed six.<various>_types usage
...
Thanks Tim Graham and Simon Charette for the reviews.
2017-01-18 20:18:46 +01:00
Claude Paroz
c716fe8782
Refs #23919 -- Removed six.PY2/PY3 usage
...
Thanks Tim Graham for the review.
2017-01-18 16:21:28 +01:00
Claude Paroz
d7b9aaa366
Refs #23919 -- Removed encoding preambles and future imports
2017-01-18 09:55:19 +01:00
Tim Graham
d334f46b7a
Refs #26601 -- Removed support for old-style middleware using settings.MIDDLEWARE_CLASSES.
2017-01-17 20:52:04 -05:00