Module that provides methods for accessing Crossbar.io HTTP Bridge Services
Fork of the original package by Eric Chapman at The HQ, now supporting Python 2.6, 2.7 and 3+ versions.
Install Crossbar HTTP 3 with pip:
pip install crossbarhttp3
To call a Crossbar HTTP bridge, do the following:
client = Client('http://127.0.0.1/call') result = client.call('com.example.add', 2, 3, offset=10)
This will call the following add_something method of an ApplicationSession object:
from autobahn.twisted.wamp import ApplicationSession from twisted.internet.defer import inlineCallbacks class MyComponent(ApplicationSession): @inlineCallbacks def onJoin(self, details): def add_something(x, y, offset=0): print('Add was called') return x + y + offset yield self.register(add_something, 'com.example.add')
To publish to a Crossbar HTTP bridge, do the following:
client = Client('http://127.0.0.1/publish') result = client.publish('com.example.event', event='new event')
The receiving subscription implemented in an ApplicationSession class would look like this:
from autobahn.twisted.wamp import ApplicationSession from twisted.internet.defer import inlineCallbacks class MyComponent(ApplicationSession): @inlineCallbacks def onJoin(self, details): def subscribe_something(event=None, **kwargs): print('Publish was called with event %s' % event) yield self.subscribe(subscribe_something, 'com.example.event')
For bridge services that have a key and secret defined, simply include the key and secret in the instantiation of the client.
client = Client('http://127.0.0.1/publish', key='key', secret='secret')
There are two more options available in the client instantiation:
The library will throw the following exceptions. Note that all exceptions subclass from ClientBaseException so you can just catch that if you don’t want the granularity.
All bug-fixes or improvements to the library are welcome.
To contribute, fork the repo and submit a pull request to the develop branch. Please, try to follow this basic coding rules:
In order to test Crossbar HTTP 3 properly you must have a Crossbar.io node in HTTP Bridge mode running in localhost port 8001. You can do that by yourself if you need it, but otherwise there is a Docker image already prepared, so you don’t have to bother with this.
To use that image and raise a Docker container with everything working, make sure you have Docker installed and execute this command:
docker run -t -p 8001:8001 --name crossbar-bridge joselpa/crossbar-http-bridge:0.2
Then you can run the unit tests in the regular way:
python setup.py test
Released under MIT License.
TODO: Figure out how to actually get changelog content.
Changelog content for this version goes here.
TODO: Brief introduction on what you do with files - including link to relevant help section.
|File Name & Checksum SHA256 Checksum Help||Version||File Type||Upload Date|
|crossbarhttp3-1.1-py2.py3-none-any.whl (5.8 kB) Copy SHA256 Checksum SHA256||py2.py3||Wheel||Sep 11, 2016|
|crossbarhttp3-1.1.tar.gz (5.9 kB) Copy SHA256 Checksum SHA256||–||Source||Sep 11, 2016|