SockJS server implementation for Sanic.
Project description
sanic_sockjs is a SockJS integration for Sanic. SockJS interface is implemented as a Sanic route. Its possible to create any number of different sockjs routes, ie /sockjs/* or /mycustom-sockjs/*. You can provide different session implementation and management for each sockjs route.
Simple Sanic web server is required:
[server:main] use = egg:gunicorn#main host = 0.0.0.0 port = 8080 worker = sanic.worker.GunicornWorker
Example of sockjs route:
def main(global_settings, **settings): app = Sanic(__main__) @app.get('/') def index(request): ... sanic_sockjs.add_endpoint(app, prefix='/sockjs', handler=chatSession) app.run("127.0.0.1", 8080)
Client side code:
<script src="//cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.js"></script> <script> var sock = new SockJS('http://localhost:8080/sockjs'); sock.onopen = function() { console.log('open'); }; sock.onmessage = function(obj) { console.log(obj); }; sock.onclose = function() { console.log('close'); }; </script>
Supported transports
websocket hybi-10
iframe-eventsource (EventSource used from an iframe via postMessage)
iframe-htmlfile (HtmlFile used from an iframe via postMessage.
Requirements
Python >= 3.6
Sanic >= 19.3.1 https://github.com/huge-success/sanic
Examples
You can find several examples in the sanic_sockjs repository at github.
https://github.com/ashleysommer/sanic-sockjs/tree/master/examples
License
sockjs is offered under the Apache 2 license.
CHANGES
0.1.0 (2020-04-08)
Initial release
Ported from aiohttp/SockJS
Works on all Sanic 19.3.1-to-19.12.2
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sanic_sockjs-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69e5c485de148f7a4a6530ecd5d7f01849779ec2c679d791ae36c37a4266562c |
|
MD5 | 65afe40fa6c211a05c039561e1c3f38d |
|
BLAKE2b-256 | 00ba7b14159f492f39af070b3682ae328f2379f9427269d9bc49b55684eb766e |