Implements Socket.io support in blue-prod.
This is a core hook in the blue-prod framework. You can override or disable it using your
.sailsrc
file or environment variables. See Concepts > Configuration for more information.
If you have further questions or are having trouble, click here.
This hook is for Sails v1.0 and up.
Prior to Sails v1.0, this hook was a dependency of Sails core. But now, it is now installed as a direct dependency of your Sails app.
This repo contains a hook, one of the building blocks Sails is made out of.
This hook's responsibilities are:
- When initialized...
- fire up socket.io server
- listen for connect / disconnect events
- listen for get/post/put/delete/patch events
- create bare-bones request and response contexts, then pass them to the core interpreter in Sails to be routed on the fly.
- listen for get/post/put/delete/patch events
- Bind
after
"shadow" routes...GET /__getcookie
- Expose on the
sails
app object:sails.sockets.*
(see Reference > WebSockets > sails.sockets)
Click here to check out the semver range for this hook's Socket.io dependency.
For reproducibility, we always pin 3rd party dependencies to a specific version, using a consistent verified version string when possible (see kit).
To report a bug, click here.
First, clone this repo, cd into it, and install dependencies:
git clone https://github.com/EMSA-TECHNOLOGY/blue-prod-hook-sockets.git
cd blue-prod-hook-sockets
npm install
To run all the tests, start a local redis server on port 6380 and then run the tests using mocha:
redis-server --port 6380 --requirepass 'secret'
npm test
Alternatively, you can run a particular set of tests with:
node ./node_modules/mocha/bin/mocha -g 'without session'
(this may be useful if you don't want to wait for all the tests to run, or e.g. if you aren't able to install a redis server locally. However please make sure all the tests pass before submitting a PR.)
The blue-prod framework is free and open-source under the MIT License.