@script-bridge/server
Version:
two-way communication system between ScriptAPI and backend server using http request
28 lines (27 loc) • 1.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerHandlers = void 0;
const protocol_1 = require("@script-bridge/protocol");
const server_1 = require("./server");
const registerHandlers = (server) => {
server.registerHandler(protocol_1.InternalAction.Connect, (action) => {
const { session, data: { clientId, protocolVersion } } = action;
action.respond();
if (server_1.ScriptBridgeServer.PROTOCOL_VERSION > protocolVersion) {
return session.disconnect(protocol_1.DisconnectReason.OutdatedClient);
}
else if (server_1.ScriptBridgeServer.PROTOCOL_VERSION < protocolVersion) {
return session.disconnect(protocol_1.DisconnectReason.OutdatedServer);
}
session.clientId = clientId;
session.onConnect();
server.emit('clientConnect', session);
});
server.registerHandler(protocol_1.InternalAction.Disconnect, (action) => {
const { session } = action;
server.emit('clientDisconnect', session, action.data.reason);
session.destroy();
action.respond();
});
};
exports.registerHandlers = registerHandlers;
;