Library for connecting to Crossbar.io HTTP Bridge Services.
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.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|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|