{"id":19869698,"url":"https://github.com/sockjs/sockjs-protocol","last_synced_at":"2025-05-07T13:01:32.852Z","repository":{"id":1672640,"uuid":"2399573","full_name":"sockjs/sockjs-protocol","owner":"sockjs","description":"An attempt to define SockJS protocol","archived":false,"fork":false,"pushed_at":"2021-08-02T22:40:17.000Z","size":271,"stargazers_count":201,"open_issues_count":18,"forks_count":28,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-03-31T10:12:01.102Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://sockjs.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sockjs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-09-16T14:01:51.000Z","updated_at":"2025-03-20T15:15:33.000Z","dependencies_parsed_at":"2022-09-07T03:21:25.714Z","dependency_job_id":null,"html_url":"https://github.com/sockjs/sockjs-protocol","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sockjs%2Fsockjs-protocol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sockjs%2Fsockjs-protocol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sockjs%2Fsockjs-protocol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sockjs%2Fsockjs-protocol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sockjs","download_url":"https://codeload.github.com/sockjs/sockjs-protocol/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252883219,"owners_count":21819157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T16:06:38.735Z","updated_at":"2025-05-07T13:01:32.701Z","avatar_url":"https://github.com/sockjs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"SockJS family:\n\n  * [SockJS-client](https://github.com/sockjs/sockjs-client) JavaScript client library\n  * [SockJS-node](https://github.com/sockjs/sockjs-node) Node.js server\n  * [SockJS-erlang](https://github.com/sockjs/sockjs-erlang) Erlang server\n  * [SockJS-cyclone](https://github.com/flaviogrossi/sockjs-cyclone) Python/Cyclone/Twisted server\n  * [SockJS-tornado](https://github.com/MrJoes/sockjs-tornado) Python/Tornado server\n  * [SockJS-twisted](https://github.com/DesertBus/sockjs-twisted/) Python/Twisted server\n  * [Spring Framework](http://projects.spring.io/spring-framework) Java [client](https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#websocket-fallback) \u0026 server\n  * [vert.x](https://github.com/vert-x/vert.x) Java/vert.x server\n  * [Xitrum](http://xitrum-framework.github.io/) Scala server\n  * [Atmosphere Framework](http://github.com/Atmosphere/atmosphere) JavaEE Server, Play Framework, Netty, Vert.x\n\nWork in progress:\n\n  * [SockJS-ruby](https://github.com/nyarly/sockjs-ruby)\n  * [SockJS-netty](https://github.com/cgbystrom/sockjs-netty)\n  * [SockJS-gevent](https://github.com/sdiehl/sockjs-gevent) ([SockJS-gevent fork](https://github.com/njoyce/sockjs-gevent))\n  * [pyramid-SockJS](https://github.com/fafhrd91/pyramid_sockjs)\n  * [wildcloud-websockets](https://github.com/wildcloud/wildcloud-websockets)\n  * [wai-SockJS](https://github.com/Palmik/wai-sockjs)\n  * [SockJS-perl](https://github.com/vti/sockjs-perl)\n  * [SockJS-go](https://github.com/igm/sockjs-go/)\n\nSockJS-protocol\n===============\n\nThis project attempts to provide a definition of SockJS protocol. The\ndocumentation is in a form of a Python test suite decorated with some\nprose in literate-programming style. You can see current documentation\nhere:\n\n * Current stable: [sockjs-protocol-0.3.3.html](\n   https://sockjs.github.io/sockjs-protocol/sockjs-protocol-0.3.3.html)\n\n\nRunning tests\n-------------\n\nYou must have Python 2.X and `virtualenv` installed. You can install\nit via `pip install virtualenv` or `sudo apt-get install python-virtualenv`.\n\nTo run the test suite against your server, first checkout dependencies:\n\n    make test_deps\n\nAnd you're ready to run the tests against your server. By default we\nassume that your test server is at\n[http://localhost:8081](http://localhost:8081):\n\n    ./venv/bin/python sockjs-protocol.py\n\nYou can specify the test server URL manually:\n\n    SOCKJS_URL=http://localhost:1234 ./venv/bin/python sockjs-protocol.py -v\n\nYou can run specific tests providing test class as an optional argument:\n\n    ./venv/bin/python sockjs-protocol.py Protocol.test_simpleSession\n\n\nThere is also another test, intended to look for some http quirks:\n\n    ./venv/bin/python http-quirks.py -v\n\n\nGenerating literate html\n------------------------\n\nIf you edited `sockjs-protocol.py` files, you may want to see how it\nlooks rendered to html. To generate the html type:\n\n    make build\n\nYou should see generated html files in `docs` subdirectory.\n\nIf you see `pygments.util.ClassNotFound`, take a look\n[here](https://github.com/fitzgen/pycco/issues/39).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsockjs%2Fsockjs-protocol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsockjs%2Fsockjs-protocol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsockjs%2Fsockjs-protocol/lists"}