* Json encoding only for not string text at HttpClient
* Decode received content if possible
* Check that content received
* Using json kwarg at receive method to decode message text content
* Wrap decorator function at channel_session_user_from_http
* Cleanup
* Arbitrary indent. sorry
* Added groups as Binding attr for easy groups_names definition
* Binding: inbound - updating fields that only in fields attribute
* Added tests for inbound part of binding #343
* Fix for flake8 checker
* Revert "Added groups as Binding attr for easy groups_names definition"
This reverts commit 009b4adbee534d4ccbea191ce2523a0edb09d407.
* Using group_names at inbound tests
* Use a mixin for common test-case code. This way we can have both
a regular channels test-case, and a transaction test-case, too.
* Adding a reference to django-cq.
* Adding the ability to launch a number of workers in threads.
This is to try and help reduce memory consumption.
* Adding a signal for process level worker startups.
* Cleaning up the threaded worker code.
* Use Python 2.7 friendly code.
* Making the runworker command show a little more information
about how many threads are running.
* Moving the worker ready signal into a method in order to support
polymorphic behavior.
* Ugh, I'm an idiot. Was launching the wrong run.
* Adding a call to the workers' `ready` in `runserver`.
* Fixed a bug whereby too many threads were being
used when threaded workers were used.
* Use a mixin for common test-case code. This way we can have both
a regular channels test-case, and a transaction test-case, too.
* Adding a reference to django-cq.
* Adding the ability to launch a number of workers in threads.
This is to try and help reduce memory consumption.
* Adding a signal for process level worker startups.
* Cleaning up the threaded worker code.
* Use Python 2.7 friendly code.
* Making the runworker command show a little more information
about how many threads are running.
* Moving the worker ready signal into a method in order to support
polymorphic behavior.
* Ugh, I'm an idiot. Was launching the wrong run.
* Adding a call to the workers' `ready` in `runserver`.
* fixed usage of group_names in *_change_receiver
group_names was missing second arg (action)
* fixed group_names to include action
* made group_names a classmethod
* Implement the data binding behaviour from Django DDP.
Correct dispatch of create/update/delete according to how group_names change
when compared between pre and post save/delete.
* Fix tests for databinding improvements.
* Fix member serialization in WebsocketBindingWithMembers
* pep fixes
* allow usage of 'dot'-notation in send_members
* replace dots for dictionary
* single quotes
* Added get_handler
Added a get_handler method that applies decorators to the consumer-classmethod
* added imports for decorators
* Added get_handler to WebsocketBinding
* Fixed missing import
* channel_session_user defaults to True
* removed user-transfer from http
would only work in a connect-method
* removed unused import
* Added WebsocketBindingWithMembers
WebsocketBindingWithMembers inherits WebsocketBinding and additionally enables sending of member variables, properties and methods.
* pep fixes
* pep fixes
* Changed to Mixin
More flexible this way; also checking if members are callable now, not just a try-except.
* moved BindingWithMembersMixin to base.py
* moved BindingWithMembersMixin to base.py
* undo moving to base.py
* undo moving to base.py; undo Mixin
* use DjangoJSONEncoder to serialize members
* missing self
* removed nasty whitespace
* Relative imports at the base of generic
* Added as_route method to generic consumers
* Tests for as_route method for generic consumers
* Now as_route method does not create new object + less verbose creating new object (tests)
* Fix flake8 version
* Fix blank line (flake8)
* Separate kwargs of as_route method as filters and nonfilters kwargs.
* `kwargs` for filters and `attrs` for class body at `as_route` method
Atm WebsocketBinding sends every field of a model, even the password of a user. Users of the class should have to think about which fields they want to send to the user. Also added a more intuitive option for sending all fields.
If the declaration of a binding happens after the ``ready``-method of channels has run, the binding was not registered. With this it will be registered at declaration. This also ensures that no registration happens before the ``ready``-method runs.