UNPKG

shardy

Version:

Framework for online games and applications on Node.js

31 lines 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultValidator = void 0; const Validator_1 = require("../Validator"); class DefaultValidator { handshake(body) { const data = { version: 1, timestamp: Date.now(), nonce: crypto.randomUUID().replace(/-/g, ''), payload: body ? body.toString('utf-8') : undefined }; return Buffer.from(JSON.stringify(data), 'utf-8'); } acknowledgement(body) { const json = JSON.parse(body.toString('utf-8')); const ack = { received: true, nonce: json.nonce }; return Buffer.from(JSON.stringify(ack), 'utf-8'); } verifyHandshake(body) { const json = JSON.parse(body.toString('utf-8')); if (json.version === 1 && json.nonce && typeof json.timestamp === 'number') { return Validator_1.ValidatorState.Success; } return Validator_1.ValidatorState.Failed; } verifyAcknowledgement(body) { const json = JSON.parse(body.toString('utf-8')); if (json.received && json.nonce) { return Validator_1.ValidatorState.Success; } return Validator_1.ValidatorState.Failed; } } exports.DefaultValidator = DefaultValidator; //# sourceMappingURL=DefaultValidator.js.map