Commit Graph

1020 Commits

Author SHA1 Message Date
Andrew Godwin
4d23655b5c Fixed #78: Use right variable for WS headers 2017-02-10 09:52:16 -08:00
Matthias K
b14bbeebe4 Fix two typos (#521) 2017-02-07 10:20:06 -08:00
Maik Hoepfel
75f668f9e5 Docs: Python 3.3 is not supported any more (#519)
Just a tiny fix to ensure that we don't promise Python 3.3 support.
2017-02-03 10:13:00 -08:00
Andrew Godwin
e189254d54 Typo in changelog 2017-02-01 14:22:54 -08:00
Andrew Godwin
60952b34bf Releasing version 1.0.2 2017-02-01 12:09:21 -08:00
Andrew Godwin
20af4e31b4 Releasing 1.0.3 2017-02-01 12:03:57 -08:00
Maik Hoepfel
6d71106c3c Simplify testing infrastructure (#515)
* Mark runtests helper executable

* Bump required version of asgiref

We're probably making our life easier when we keep the Channels
dependencies roughly in sync. As a 1.0 release was made, I suggest to
require it.

* Simplify tox and Travis configuration

I hopefully simplified the tox configuration by following what I did in
the other four Channels projects.

I then had a good look at tox-travis and decided to remove it. It does
add a layer of indirection with, IMHO, not enough gain. To understand
what Travis is doing, one would need to consider two files (and
understand tox-travis) instead of just one file. It also introduces
another point of failure. What pushed me over was that there's a bug
with env matching (https://github.com/ryanhiebert/tox-travis/issues/55)
and tox or tox-travis seem to mask an Exception
(https://travis-ci.org/django/channels/jobs/195950971#L195) that would
be hard to debug.
The draw back is that we duplicate the Django dependency matrix, and the
commands that are executed in Travis and tox. We could add a "--with-qa"
flag to runtests.py to have it execute flake8 and isort to rectify the
latter.

I extracted test dependencies as I did for asgi_redis.

* Document supported versions
2017-01-30 17:25:07 -08:00
Maik Hoepfel
cf94ec01fa Test against Python 3.4 and multiple Twisted versions (#75)
* Test against Python 3.4 and multiple Twisted versions

This commit adds tox to be able to test against different dependencies
locally. We agreed that Python 3.4 should be supported across all Channels
projects, so it is also added with this commit.

Furthermore, I think it makes sense to support a broad range of Twisted
releases, as users of daphne are not unlikely to have other Twisted code
running. It's not feasible to test against all releases since 16.0, and
it would require constant maintenance to add new releases as they come
out. So I opted to keep things simple for now, and only test against the
oldest supported and the current Twisted release.

I did consider @jpic's great idea from
https://github.com/django/daphne/pull/19 to just use tox to avoid having
to duplicate the dependency matrix. But it does lead to slower test runs
as it bypasses Travis' caching, and is slightly more verbose.

* Require asgiref 1.0 and use receive instead of receive_many

As both daphne and asgiref had a 1.0 release, I think it makes sense to
require the presumably more stable asgiref 1.0. It's also a good
occasion to fix the deprecation warnings when running the tests by
switching to receive instead of receive_many.

* Document supported Python and Twisted versions
2017-01-30 17:24:17 -08:00
Andrew Godwin
558d66a6b2 Fixed #512: Give rundelay a configurable sleep interval
Also reduced the default interval to 1s.
2017-01-30 17:13:30 -08:00
David Marquis
07dd777ef1 Fix #72: Allowing null origins for Cordova/PhoneGap WS clients (#73)
* Fix #72: Configuring the underlying Autobahn Websocket connection factory so that 'null' origins are accepted, effectively allowing connections from Cordova/PhoneGap clients

* Fix #72: Adding test for no origin header use case
2017-01-30 10:18:11 -08:00
David Marquis
ccc804fd6a Tweaked TestWebSocketProtocol class documentation (copy/paste typo) (#74) 2017-01-30 10:17:49 -08:00
Andrew Godwin
5fc5267d2a Add code indent 2017-01-27 09:45:41 -08:00
Andrew Godwin
57ed7747f7 Handle slight ordering not being set 2017-01-26 10:47:54 -08:00
Andrew Godwin
a1a1ace23d Remove slight ordering from generics docs 2017-01-26 10:44:08 -08:00
Andrew Godwin
1d1101f7a9 Fixed #509: Docs for enforce_ordering now mirror post-1.0 2017-01-26 10:42:48 -08:00
Andrew Godwin
1a56ae8eb7 Sort imports correctly. 2017-01-25 17:04:06 -08:00
Andrew Godwin
ef755e4c9d Remove optional multiplexer arg in generics docs 2017-01-25 17:03:09 -08:00
Andrew Godwin
9ae27cb835 Fixed #462: Don't actually close DB connections during tests 2017-01-25 16:59:35 -08:00
Andrew Godwin
9942c59851 Fixed #505: Add classifiers to setup.py 2017-01-24 09:57:38 -08:00
Andrew Godwin
db8a4570c3 Fixed #477: Only re-save session if it's not empty 2017-01-24 09:57:38 -08:00
Malyshev Artem
5c74ee587e Installable benchmark package. (#501)
* Make benchmark installable module.

* Use passed url in the Benchmarker constructor.

* Correct percentile output.

* Import reactor globally.

Since it used in the benchmarker.
2017-01-23 22:04:42 -08:00
Lars Kreisz
1542343392 Fix typo (#500) 2017-01-23 12:00:05 -08:00
Хасанов Булат
71f6052fb3 Remove domain from file descriptor in serverFromString (#68) 2017-01-23 11:22:10 -08:00
Andrew Godwin
891eaf0051 Talk about URL routing/views in getting started (refs #92) 2017-01-23 10:13:36 -08:00
Andrew Godwin
7597576db2 Add License 2017-01-23 10:09:15 -08:00
Gary Reynolds
f4d38ef778 Remove unnecessary profane word in the documentation (#499) 2017-01-22 23:32:04 -08:00
Andrew Godwin
e07389eadb Fixed #496: Update readme to remove beta info 2017-01-22 11:05:19 -08:00
Leon Koole
044c422cdd Remove unnecessary http_session_user import (#493) 2017-01-20 17:23:21 -08:00
Joseph Ryan
1e2cd8ec76 Fix for session shenanigans with WebsocketDemultiplexer (#486)
* Fix for session shenanigans with WebsocketDemultiplexer

Session data was getting lost in the demux due to the session getting
saved after only the first connect/disconnect consumer was run.

* fix for flake8

* flake8 again

flake8 again
2017-01-17 16:20:08 -08:00
Malyshev Artem
335cd1625e Correct benchmark test for recent channels version. (#487)
* Ignore Emacs backups.

* Do not override default websocket.connect handler.

Channels specification 1.0 requires that websocket.connect handler
returns meaningful message with {'accept': True} at least.

* Add rabbitmq channel layer settings.

* Add benchmark requirements in separate file.

* Add RabbitMQ infrastructure part.

* Adapt benchmark README for new docker layout.

* Adapt fabric deploy for new settings module.
2017-01-17 12:25:08 -08:00
Andrew Godwin
fd30bff5de Fixed #483: HttpResponse takes "status", not "status_code" 2017-01-13 09:32:41 -08:00
Andrew Godwin
811d017dc9 Releasing 1.0.2 2017-01-12 10:12:09 -08:00
Andrew Godwin
c9e6472ca7 Update changelogs for 1.0.2 and web in general 2017-01-12 10:09:36 -08:00
Andrew Godwin
05b5fa5216 Fixed #482: Group_names not updated right in base classes. 2017-01-12 10:09:36 -08:00
Krukov D
37da462411 User friendly way to close websocket with code (via CloseException) (#468)
* User friendly way to close websocket with status

* More generic way  to close(whatever) connection by exception

* Fix import ordering for exceptions (isort)
2017-01-12 10:02:30 -08:00
Andrew Godwin
2ced4ee2e9 Remove consumer_finished from tests that flushed
No longer needed now messages aren't buffered outside consumers.
2017-01-11 15:40:24 -08:00
Andrew Godwin
69c59ee8b4 Fixed #481: Sends from outside consumers send immediately 2017-01-11 15:35:50 -08:00
Bartek Ogryczak
ee4aa9b292 more consistent metrics (#473)
* more consistent metrics

More consistent metrics, in particular for consumers such as Graphite, CloudWatch etc. you don't want aggregated numbers per second, you want number since previous call. Since we don't want to track all the clients, total since start is the next best thing, because it can be easily calculated by the metrics consumer `count_since_last = pervious_count - current_count`

* changing 'queue_depth' to 'messages_pending', also making 'messages' plurar for 'max_age' to keep it consitent
2017-01-11 11:49:59 -08:00
Andrew Godwin
6bfaaf23d1 Add connect-accept into Websocket CBC example (#479) 2017-01-11 11:38:21 -08:00
Krukov D
b84713b20e Remove unicode literals (#476) 2017-01-11 10:03:03 -08:00
Adam Johnson
08f0a0934c Use HTTPS in changelog (#472)
security ++
2017-01-10 10:05:23 -08:00
Andrew Godwin
2650505eab Releasing 1.0.1 2017-01-09 22:10:18 -08:00
Andrew Godwin
c69bf09b7c Releasing 1.0.1 2017-01-09 18:28:52 -08:00
Andrew Godwin
3d628ba941 Fixed channels/#470: Bad python 2 handling of endpoint string 2017-01-09 18:27:37 -08:00
Krukov D
8a93dfc401 Accept Connection at WebsocketConsumer (#467)
* Added accept at default behavior for websocket generic cbv and pass message instead of dict

* Fix flake8

* Use HttpClient Instead of Client

* Fix lsort
2017-01-09 10:08:00 -08:00
Andrew Godwin
827fcd25b1 Releasing 1.0.0 2017-01-08 18:37:03 -08:00
Andrew Godwin
c0ba284bbb Fix import ordering 2017-01-08 18:33:31 -08:00
Andrew Godwin
a781834779 Remove release notes TOC 2017-01-08 18:33:21 -08:00
Andrew Godwin
ec0b124c6e Flesh out release notes 2017-01-08 18:29:58 -08:00
Andrew Godwin
aa3af5031c Fix bad asserts in runserver endpoint tests 2017-01-08 18:18:00 -08:00