https://github.com/noviel/osnova-module-socket.io
Osnova socket.io module
https://github.com/noviel/osnova-module-socket.io
Last synced: 10 months ago
JSON representation
Osnova socket.io module
- Host: GitHub
- URL: https://github.com/noviel/osnova-module-socket.io
- Owner: Noviel
- License: mit
- Created: 2017-02-13T14:47:40.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-02-13T17:39:03.000Z (over 9 years ago)
- Last Synced: 2025-03-06T18:18:47.977Z (over 1 year ago)
- Language: JavaScript
- Size: 37.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Osnova Socket.IO module
## bI?
Basic Socket.IO wrapper exported as osnova module.
## Install
```sh
npm i osnova-module-socket.io
```
## Usage
```javascript
import OSNOVA from 'osnova';
import socketIoModule from 'osnova-module-socket.io';
const osnova = OSNOVA({
modules: [ socketIoModule(/* optional options object */) ],
/* rest OSNOVA config */
});
```
Takes optional `opts` object as a parameter with properties:
- **http** { object } extern http server, if `undefined` will be used `osnova.http`.
- **middlewares** { array } - Socket.IO middlewares list.
Exports to osnova `io` object with interface:
- **native()** { function } return inner Socket.IO object.
- **on(eventName, callback)** { function } - add an event for connected sockets.
Callback will
be called with `(socket, payload)` parameters when socket
triggers an event.
### Passing Socket.IO middlewares
Middlewares should have signature `osnova => middleware`.
```javascript
const myMiddleware = (osnova) => (socket, next) => {
console.log(`Hey, i have access to OSNOVA version ${osnova.__version} here!`);
next();
}
socketIoModule({
middlewares: [myMiddleware]
});
```