Implements Socket.io support in Sails.
This is a core hook in the Sails.js 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.
Please observe the guidelines and conventions laid out in the Sails project contribution guide when opening issues or submitting pull requests.
First, clone this repo, cd into it, and install dependencies:
git clone https://github.com/balderdashy/sails-hook-sockets.git
cd sails-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 Sails framework is free and open-source under the MIT License.