shardy
Version:
Framework for online games and applications on Node.js
31 lines • 1.27 kB
JavaScript
;
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