Skip to main content

SockJS server implementation for Sanic.

Project description

https://secure.travis-ci.org/ashleysommer/sanic-sockjs.svg

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

Requirements

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sanic-sockjs-0.1.0.tar.gz (34.0 kB view hashes)

Uploaded Source

Built Distribution

sanic_sockjs-0.1.0-py3-none-any.whl (23.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page