UNPKG

socket.io-requests

Version:

Better requests functionality for Socket.io - Server & Client.

99 lines (72 loc) 1.93 kB
# Socket.io Requests # IN DEVELOPMENT - DO NOT USE! ## _Better requests functionality for Socket.io - Server & Client._ Socket.io Requests is a package for extending the socket instance of Socket.io for better Acknowledgements (Request - Response) functionality. It creates 2 simple methods for the `socket` instance. ## Features - Send requests - Listen to requests and respond - Set timeout for the request ## Installation Use [NPM](https://www.npmjs.com/package/socket.io-requests) to install. ```sh npm i socket.io-requests ``` ## Configure: #### Configure on server ```javascript index.js const { Server } = require("socket.io"); const io = new Server({ /* options */ }); const SioR = require("socket.io-requests"); io.on("connection", (socket) => { SioR(socket); }); ``` #### Configure on client ```javascript index.js const socket = io(); require("socket.io-requests")(socket); ``` ## Usage: #### Send request ```javascript index.js socket.on("connect", () => { setTimeout(() => { socket .sendRequest("request-channel-name", "data of the request") .then((res) => { console.log("res:", res); }) .catch((err) => { console.log("err:", err); }); }, 1000); }); ``` #### Listen to request and send response ```javascript index.js socket.onRequest("request-channel-name", (data, respond) => { const response = { hello: "world!", }; respond(response); }); ``` #### Send request with custom timeout - _Timeout is in ms_. - _Default: 30000_. ```javascript index.js socket .sendRequest("request-channel-name", "data of the request", 5000) .then((res) => { console.log("res:", res); }) .catch((err) => { console.log("err:", err); }); ``` ## License [MIT](https://choosealicense.com/licenses/mit/) **Free Software, Enjoy!**