Commit Graph

365 Commits

Author SHA1 Message Date
Adam Johnson
2b6f153616
Used partial() to wrap Server.handle_reply() (#364)
Fixes #332.
2021-04-07 20:14:02 +02:00
Adam Johnson
ca61162129
Lint with pre-commit (#365)
* Lint with pre-commit

* Move existing tox qa hooks into pre-commit.
* Set up GitHub Action based on https://github.com/pre-commit/action/ (we could also use https://pre-commit.ci ).
* Add `pyupgrade` to drop old Python syntax.
* Add `flake8-bugbear` plugin to prevent flake8 errors.

* Drop custom GHA
2021-04-07 20:11:21 +02:00
Carlton Gibson
aac4708a61 Bumped version and change notes for 3.0.1 release. 2020-11-12 20:34:13 +01:00
Patrick Gingras
aae0870971
Handle asyncio.CancelledError in Server.application_checker (#341)
As of [bpo-32528](https://bugs.python.org/issue32528), asyncio.CancelledError is
not a subclass of concurrent.futures.CancelledError. This means that if an
asyncio future raises an exception, it won't be caught. Therefore, the
exception will bubble past the try-except within the loop in application_checker,
resulting in done applications not being cleaned up, and the application_checker
task not being queued again.
2020-11-11 16:12:33 +01:00
Carlton Gibson
a69723ca3f Version 3.0 release.
* Bump version number.
* Changelog.
* README.
* Update asgiref dependency specifier to match Django 3.1.
2020-10-28 20:52:00 +01:00
Ryan Fredericks
525b6d2dbb
Update README for shell compatibility. (#327) 2020-10-28 20:45:41 +01:00
Avinash Raj
15ba5c6776
Updated to use ASGI v3 applications internally. (#275)
Used guarantee_single_callable().
Removed unneeded --asgi-protocol CLI option.
Updated tests.

Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2020-10-27 19:50:50 +01:00
Samori Gorse
e1b77e930b
Added request body chunking (#335)
The entire body was previously read in memory which would lead
the server to be killed by the scheduler.
This change allows 8Kb chunks to be read until the entire body is
consummed.

Co-authored-by: Samori Gorse <samori@codeinstyle.io>
2020-10-21 16:38:03 +02:00
Michael K
b96720390f
Switch from Travis CI to GitHub Actions (#336)
* Add GitHub Actions
* Remove Travis CI
* Remove known first party from isort's config
2020-10-20 16:44:54 +02:00
Sergey Klyuykov
d0e841b41d Added support for executing from interpreter.
For run from python interpreter as module use command:
`python -m daphne [all daphne arguments]`
2020-10-16 08:16:34 +02:00
Carlton Gibson
9838a173d7 Releasing 2.5.0 2020-04-15 20:26:53 +02:00
Carlton Gibson
c3b88e5639 Corrected ignore pattern. 2020-04-15 20:12:40 +02:00
Chris Barber
1765187a17 Fixed race-condition with TestApplication pickle file. 2020-04-15 20:07:11 +02:00
Carlton Gibson
5cf15bd636 Set event loop policy on Windows with Python 3.8+. 2020-04-15 20:07:11 +02:00
Carlton Gibson
d689ca2eab
Updated git ignore with common files. (#316)
* Pyenv
* Pytest
* VS Code.
2020-04-13 16:38:24 +02:00
Michael
59b57a9f4b
Simplify travis config (#295) 2020-02-05 21:05:51 +01:00
LittlePony
61c8633c5d
Add logger traceback on application error. (#308) 2020-02-05 20:40:44 +01:00
Carlton Gibson
18f2d67f34 Releasing 2.4.1 2019-12-18 20:50:12 +01:00
Carlton Gibson
27f760a814 Avoid Twisted using the default event loop
When switching threads, e.g. when run via Django auto-reloader, the default run loop causes issues detecting async contexts.
Fixes https://github.com/django/channels/issues/1374
2019-12-18 20:50:12 +01:00
Carlton Gibson
eb582d1d43 Releasing 2.4.0 2019-11-20 20:41:07 +01:00
Carlton Gibson
beb836acce Remove macOS Travis build.
Travis' infrastructure is just too slow.
2019-11-20 20:27:00 +01:00
Carlton Gibson
4b7c027b98 Add testing against Python 3.8. 2019-11-20 20:27:00 +01:00
Carlton Gibson
a4efcd5c1d Reduced macOS Travis builds to single env.
Slow, and not any benefit in multiple runs.
2019-11-20 20:27:00 +01:00
Carlton Gibson
78be865eb4
Fixed #276 -- Ensured 500 response when app sends malformed headers. (#281) 2019-11-14 07:13:16 +01:00
Joonhyung Shin
7032f8e0f8 Resolve asyncio + multiprocessing problem when testing. (#247) 2019-11-06 19:51:00 +01:00
Carlton Gibson
d3630e0925
Pin hypothesis at 4.2.3 (#283)
https://travis-ci.org/django/daphne/jobs/595912612

Requirement already satisfied: attrs>=17.4.0 in /home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages (from twisted) (18.2.0)

hypothesis 4.40.0 has requirement attrs>=19.2.0, but you'll have attrs 18.2.0 which is incompatible.
2019-10-10 05:05:08 +02:00
Simon Willison
333f4644d1 Added support for raw_path in scope. (#268)
As per https://github.com/django/asgiref/pull/92

Required valid URI path fragments to be used in tests:
- Test case must ensure paths are correctly quoted before calling
   run_daphne_request() & co.

Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
2019-07-03 20:22:03 +02:00
Simon Willison
ffd949f2ce Fix deprecated regex escape sequence. (#266) 2019-06-17 10:21:24 +02:00
Mario Rodas
f46c2448b1 Added compatibility for hypothesis 4 (#261)
hypothesis `average_size` argument was already deprecated [1], and was
effectively removed in hypothesis 4 [2].

[1] https://github.com/HypothesisWorks/hypothesis/pull/1162
[2] https://hypothesis.readthedocs.io/en/latest/changes.html#v4-0-0
2019-06-17 10:10:14 +02:00
Alan Rominger
a3494215cf Require installing Twisted TLS extras. (#257) 2019-04-13 15:04:56 +02:00
d.s.e
0be1d3ef01 Added missing LICENSE to distribution (#250)
Signed-off-by: Guenther Meyer <d.s.e@sordidmusic.com>
2019-04-13 12:09:29 +02:00
Carlton Gibson
1759643f1f Releasing 2.3.0 2019-04-09 11:42:31 +02:00
Tom Christie
f52960e587 Support ASGI3 (#255) 2019-04-09 11:36:18 +02:00
Andrew Godwin
67cfa98b00 Fixing test dependencies to actual versions 2019-01-31 17:43:23 -08:00
Andrew Godwin
1b77e247f8 Releasing 2.2.5 2019-01-31 17:36:30 -08:00
Avinash Raj
9c574083ff Support for passing server name as cli argument (#231) 2018-12-28 13:42:39 +00:00
Florian Apolloner
cc344c6e34
Fix typo in changelog 2018-12-26 15:49:33 +01:00
Andrew Godwin
699f9dd4cb Set the websocket handshake from the connect time 2018-12-24 16:04:53 +00:00
Andrew Godwin
8515524c2b Releasing 2.2.4 2018-12-15 13:28:13 -08:00
Kyle Agronick
c4125c66d4 Only set disconnected time when it is not already set (#237)
Fixes a memory leak where the time would never expire, as well as an additional case where send is called on an already-cleaned-up instance.
2018-11-27 12:20:27 -08:00
Sylvain Prat
de15dcb4d1 Fixed #234: Don't listen on port 8000 when provided a file descriptor 2018-11-19 14:13:03 -08:00
Andrew Godwin
5722d4e7ea Releasing 2.2.3 2018-11-06 10:27:18 -08:00
László Károlyi
20f2bc93d4 Add command-line options for proxy headers 2018-10-26 12:34:15 -07:00
Imblc
e93643ff5a Fixed #229: Allow bytes headers only
Previously Daphne was too lax and would happily accept strings too.
2018-09-28 09:45:03 -07:00
Andrew Godwin
3e4aab95e2 Fix Travis release stage 2018-08-29 17:57:06 -07:00
Andrew Godwin
c5554cb817 Tidying up 2018-08-27 14:21:40 +10:00
Andrew Godwin
02a299e5a7 Fix isort in travis 2018-08-27 12:40:51 +10:00
Andrew Godwin
460bdf64db Only lint the daphne and tests directories 2018-08-27 12:31:54 +10:00
Andrew Godwin
0ed6294406 Implement Black code formatting 2018-08-27 12:29:57 +10:00
Michael
88792984e7 Run tests against Python 3.7 (#224) 2018-08-25 09:46:04 +10:00