UNPKG

@iosio/websocket-client

Version:

Simple wrapper for native client-side WebSocket. Similar to socket.io. Easy to use with any backend

88 lines (54 loc) 1.08 kB
import { tryParse } from "../utils"; export const validateRequest = (req, routes) => { let err_msg = false; if (!req) { err_msg = 'invalid request data'; console.error(err_msg); return { ok: false, err_msg, data: false, }; } else if (typeof req !== 'string') { err_msg = 'request data must be of type string'; console.error(err_msg); return { ok: false, err_msg, data: false, }; } else { let { ok, data, error } = tryParse(req); if (!ok) { err_msg = 'invalid data format, error:' + error; console.error(err_msg); return { ok: false, err_msg, data: false, }; } else if (!data.event) { err_msg = 'missing event property'; console.error(err_msg); return { ok: false, err_msg, data: false, }; } else if (!routes[data.event]) { err_msg = 'no matching event type ' + data.event; console.error(err_msg); return { ok: false, err_msg, data: false, }; } else { return { ok: true, err_msg: false, data, }; } } };