update tests:
starting with updating tests to use both server and client side to mimic operation
This commit is contained in:
parent
3afede95fc
commit
ab2196fd5f
3
dist/index.js
vendored
3
dist/index.js
vendored
@ -4,4 +4,5 @@ function __export(m) {
|
|||||||
}
|
}
|
||||||
__export(require("./smartsocket.classes.smartsocket"));
|
__export(require("./smartsocket.classes.smartsocket"));
|
||||||
__export(require("./smartsocket.classes.smartsocketclient"));
|
__export(require("./smartsocket.classes.smartsocketclient"));
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsaUJBQWMsbUNBQW1DLENBQUMsRUFBQTtBQUNsRCxpQkFBYyx5Q0FBeUMsQ0FBQyxFQUFBIn0=
|
// need something more exposed? Create an issue on GitLab!
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsaUJBQWMsbUNBQW1DLENBQUMsRUFBQTtBQUNsRCxpQkFBYyx5Q0FBeUMsQ0FBQyxFQUFBO0FBRXhELDBEQUEwRCJ9
|
3
dist/smartsocket.classes.smartsocket.d.ts
vendored
3
dist/smartsocket.classes.smartsocket.d.ts
vendored
@ -12,10 +12,11 @@ export declare class Smartsocket {
|
|||||||
/**
|
/**
|
||||||
* the standard handler for new socket connections
|
* the standard handler for new socket connections
|
||||||
*/
|
*/
|
||||||
private _handleSocket(socketArg);
|
private _handleSocketConnection(socketArg);
|
||||||
/**
|
/**
|
||||||
* starts listening to incling sockets:
|
* starts listening to incling sockets:
|
||||||
*/
|
*/
|
||||||
startServer: () => void;
|
startServer: () => void;
|
||||||
closeServer: () => void;
|
closeServer: () => void;
|
||||||
|
clientCall(): void;
|
||||||
}
|
}
|
||||||
|
10
dist/smartsocket.classes.smartsocket.js
vendored
10
dist/smartsocket.classes.smartsocket.js
vendored
@ -13,7 +13,7 @@ class Smartsocket {
|
|||||||
this.startServer = () => {
|
this.startServer = () => {
|
||||||
this.io = plugins.socketIo(this.options.port);
|
this.io = plugins.socketIo(this.options.port);
|
||||||
this.io.on('connection', (socketArg) => {
|
this.io.on('connection', (socketArg) => {
|
||||||
this._handleSocket(socketArg);
|
this._handleSocketConnection(socketArg);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
this.closeServer = () => {
|
this.closeServer = () => {
|
||||||
@ -30,7 +30,7 @@ class Smartsocket {
|
|||||||
/**
|
/**
|
||||||
* the standard handler for new socket connections
|
* the standard handler for new socket connections
|
||||||
*/
|
*/
|
||||||
_handleSocket(socketArg) {
|
_handleSocketConnection(socketArg) {
|
||||||
let socketConnection = new smartsocket_classes_socketconnection_1.SocketConnection({
|
let socketConnection = new smartsocket_classes_socketconnection_1.SocketConnection({
|
||||||
authenticated: false,
|
authenticated: false,
|
||||||
socket: socketArg
|
socket: socketArg
|
||||||
@ -41,6 +41,10 @@ class Smartsocket {
|
|||||||
.then(socketConnection.listenToFunctionRequests);
|
.then(socketConnection.listenToFunctionRequests);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
// communication
|
||||||
|
clientCall() {
|
||||||
|
// TODO: target specific client and initiate response
|
||||||
|
}
|
||||||
}
|
}
|
||||||
exports.Smartsocket = Smartsocket;
|
exports.Smartsocket = Smartsocket;
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFHakQsVUFBVTtBQUNWLHNCQUEwQixLQUFLLENBQUMsQ0FBQTtBQUdoQyx1REFBaUMsd0NBQXdDLENBQUMsQ0FBQTtBQUt6RSxDQUFDO0FBRUY7SUFJSSxZQUFZLFVBQTBDO1FBRHRELGdCQUFXLEdBQUcsSUFBSSxlQUFTLEVBQW9CLENBQUM7UUFtQmhEOztXQUVHO1FBRUgsZ0JBQVcsR0FBRztZQUNWLElBQUksQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVM7Z0JBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUE7UUFDRCxnQkFBVyxHQUFHO1lBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFpQztnQkFDdkQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0NBQWtDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRixlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQTtRQWxDRyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUM5QixDQUFDOztJQUVEOztPQUVHO0lBQ0ssYUFBYSxDQUFDLFNBQVM7UUFDM0IsSUFBSSxnQkFBZ0IsR0FBc0IsSUFBSSx1REFBZ0IsQ0FBQztZQUMzRCxhQUFhLEVBQUMsS0FBSztZQUNuQixNQUFNLEVBQUMsU0FBUztTQUNuQixDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFBO1FBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdkMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO2FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7O0FBb0JMLENBQUM7QUF4Q1ksbUJBQVcsY0F3Q3ZCLENBQUEifQ==
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFHakQsVUFBVTtBQUNWLHNCQUEwQixLQUFLLENBQUMsQ0FBQTtBQUdoQyx1REFBaUMsd0NBQXdDLENBQUMsQ0FBQTtBQUt6RSxDQUFDO0FBRUY7SUFJSSxZQUFZLFVBQTBDO1FBRHRELGdCQUFXLEdBQUcsSUFBSSxlQUFTLEVBQW9CLENBQUM7UUFtQmhEOztXQUVHO1FBRUgsZ0JBQVcsR0FBRztZQUNWLElBQUksQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVM7Z0JBQy9CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQTtRQUNELGdCQUFXLEdBQUc7WUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWlDO2dCQUN2RCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ2pGLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDeEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDO1FBbENFLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO0lBQzlCLENBQUM7O0lBRUQ7O09BRUc7SUFDSyx1QkFBdUIsQ0FBQyxTQUFTO1FBQ3JDLElBQUksZ0JBQWdCLEdBQXNCLElBQUksdURBQWdCLENBQUM7WUFDM0QsYUFBYSxFQUFDLEtBQUs7WUFDbkIsTUFBTSxFQUFDLFNBQVM7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtRQUNwRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFnQixDQUFDLFlBQVksRUFBRTthQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN6RCxDQUFDOztJQXFCRCxnQkFBZ0I7SUFDaEIsVUFBVTtRQUNOLDZEQUE2RDtJQUNqRSxDQUFDO0FBQ0wsQ0FBQztBQTdDWSxtQkFBVyxjQTZDdkIsQ0FBQSJ9
|
10
dist/smartsocket.classes.smartsocketclient.d.ts
vendored
10
dist/smartsocket.classes.smartsocketclient.d.ts
vendored
@ -1,3 +1,5 @@
|
|||||||
|
/// <reference types="q" />
|
||||||
|
import * as plugins from "./smartsocket.plugins";
|
||||||
import { ISocketFunctionCall } from "./smartsocket.classes.socketfunction";
|
import { ISocketFunctionCall } from "./smartsocket.classes.socketfunction";
|
||||||
import { SocketConnection } from "./smartsocket.classes.socketconnection";
|
import { SocketConnection } from "./smartsocket.classes.socketconnection";
|
||||||
/**
|
/**
|
||||||
@ -6,9 +8,15 @@ import { SocketConnection } from "./smartsocket.classes.socketconnection";
|
|||||||
export interface ISmartsocketClientOptions {
|
export interface ISmartsocketClientOptions {
|
||||||
port: number;
|
port: number;
|
||||||
url: string;
|
url: string;
|
||||||
|
alias?: string;
|
||||||
|
password: string;
|
||||||
}
|
}
|
||||||
export declare class SmartsocketClient {
|
export declare class SmartsocketClient {
|
||||||
socketConnection: SocketConnection;
|
socketConnection: SocketConnection;
|
||||||
|
serverUrl: string;
|
||||||
|
serverPort: number;
|
||||||
|
serverPassword: string;
|
||||||
constructor(optionsArg: ISmartsocketClientOptions);
|
constructor(optionsArg: ISmartsocketClientOptions);
|
||||||
serverCall(functionNameArg: string, dataArg: ISocketFunctionCall): void;
|
private _handleSocketConnection();
|
||||||
|
serverCall(functionNameArg: string, dataArg: ISocketFunctionCall): plugins.q.Promise<{}>;
|
||||||
}
|
}
|
||||||
|
39
dist/smartsocket.classes.smartsocketclient.js
vendored
39
dist/smartsocket.classes.smartsocketclient.js
vendored
@ -1,12 +1,40 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const plugins = require("./smartsocket.plugins");
|
const plugins = require("./smartsocket.plugins");
|
||||||
|
// import classes
|
||||||
|
const smartsocket_classes_socketconnection_1 = require("./smartsocket.classes.socketconnection");
|
||||||
const smartsocket_classes_socketrequest_1 = require("./smartsocket.classes.socketrequest");
|
const smartsocket_classes_socketrequest_1 = require("./smartsocket.classes.socketrequest");
|
||||||
class SmartsocketClient {
|
class SmartsocketClient {
|
||||||
constructor(optionsArg) {
|
constructor(optionsArg) {
|
||||||
// TODO: implement Socket init
|
this.serverUrl = optionsArg.url;
|
||||||
|
this.serverPort = optionsArg.port;
|
||||||
|
this.serverPassword = optionsArg.password;
|
||||||
|
}
|
||||||
|
;
|
||||||
|
// authenticates the socket against the server
|
||||||
|
_handleSocketConnection() {
|
||||||
|
let done = plugins.q.defer();
|
||||||
|
let socketUrl = `${this.serverUrl}:${this.serverPort}`;
|
||||||
|
this.socketConnection = new smartsocket_classes_socketconnection_1.SocketConnection({
|
||||||
|
authenticated: false,
|
||||||
|
socket: plugins.socketIoClient(this.serverUrl, {})
|
||||||
|
});
|
||||||
|
this.socketConnection.socket.on("requestAuth", function () {
|
||||||
|
console.log("server requested authentication");
|
||||||
|
this.socketConnection.socket.emit("dataAuth", {
|
||||||
|
role: "coreflowContainer",
|
||||||
|
password: "somePassword",
|
||||||
|
alias: "coreflow1"
|
||||||
|
});
|
||||||
|
this.socketConnection.socket.on("authenticated", () => {
|
||||||
|
console.log("client is authenticated");
|
||||||
|
done.resolve();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return done.promise;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
serverCall(functionNameArg, dataArg) {
|
serverCall(functionNameArg, dataArg) {
|
||||||
|
let done = plugins.q.defer();
|
||||||
let socketRequest = new smartsocket_classes_socketrequest_1.SocketRequest({
|
let socketRequest = new smartsocket_classes_socketrequest_1.SocketRequest({
|
||||||
side: "requesting",
|
side: "requesting",
|
||||||
originSocketConnection: this.socketConnection,
|
originSocketConnection: this.socketConnection,
|
||||||
@ -16,8 +44,13 @@ class SmartsocketClient {
|
|||||||
funcDataArg: dataArg
|
funcDataArg: dataArg
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
socketRequest.dispatch();
|
socketRequest.dispatch()
|
||||||
|
.then(() => {
|
||||||
|
done.resolve();
|
||||||
|
});
|
||||||
|
return done.promise;
|
||||||
}
|
}
|
||||||
|
;
|
||||||
}
|
}
|
||||||
exports.SmartsocketClient = SmartsocketClient;
|
exports.SmartsocketClient = SmartsocketClient;
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldGNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXRjbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHVCQUl6QixDQUFDLENBSitDO0FBVWhELG9EQUE4QixxQ0FBcUMsQ0FBQyxDQUFBO0FBU3BFO0lBRUksWUFBWSxVQUFvQztRQUM1Qyw4QkFBOEI7SUFDbEMsQ0FBQzs7SUFDRCxVQUFVLENBQUMsZUFBc0IsRUFBQyxPQUEyQjtRQUN6RCxJQUFJLGFBQWEsR0FBRyxJQUFJLGlEQUFhLENBQUM7WUFDbEMsSUFBSSxFQUFDLFlBQVk7WUFDakIsc0JBQXNCLEVBQUMsSUFBSSxDQUFDLGdCQUFnQjtZQUM1QyxPQUFPLEVBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDbEMsWUFBWSxFQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixXQUFXLEVBQUMsT0FBTzthQUN0QjtTQUNKLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0FBRUwsQ0FBQztBQWxCWSx5QkFBaUIsb0JBa0I3QixDQUFBIn0=
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldGNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXRjbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHVCQUl6QixDQUFDLENBSitDO0FBT2hELGlCQUFpQjtBQUNqQix1REFBaUMsd0NBQXdDLENBQUMsQ0FBQTtBQUUxRSxvREFBOEIscUNBQXFDLENBQUMsQ0FBQTtBQVdwRTtJQUtJLFlBQVksVUFBb0M7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFBO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUE7SUFDN0MsQ0FBQzs7SUFFRCw4Q0FBOEM7SUFDdEMsdUJBQXVCO1FBQzNCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsSUFBSSxTQUFTLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSx1REFBZ0IsQ0FBQztZQUN6QyxhQUFhLEVBQUMsS0FBSztZQUNuQixNQUFNLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLEVBQUUsQ0FBQztTQUNwRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUU7WUFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDMUMsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLEtBQUssRUFBRSxXQUFXO2FBQ3JCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBQztnQkFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7O0lBQ0QsVUFBVSxDQUFDLGVBQXNCLEVBQUMsT0FBMkI7UUFDekQsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixJQUFJLGFBQWEsR0FBRyxJQUFJLGlEQUFhLENBQUM7WUFDbEMsSUFBSSxFQUFDLFlBQVk7WUFDakIsc0JBQXNCLEVBQUMsSUFBSSxDQUFDLGdCQUFnQjtZQUM1QyxPQUFPLEVBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDbEMsWUFBWSxFQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixXQUFXLEVBQUMsT0FBTzthQUN0QjtTQUNKLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxRQUFRLEVBQUU7YUFDbkIsSUFBSSxDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7QUFFTCxDQUFDO0FBbkRZLHlCQUFpQixvQkFtRDdCLENBQUEifQ==
|
@ -1,15 +1,16 @@
|
|||||||
/// <reference types="socket.io" />
|
/// <reference types="socket.io" />
|
||||||
|
/// <reference types="socket.io-client" />
|
||||||
/// <reference types="q" />
|
/// <reference types="q" />
|
||||||
import * as plugins from "./smartsocket.plugins";
|
import * as plugins from "./smartsocket.plugins";
|
||||||
import { SocketRole } from "./smartsocket.classes.socketrole";
|
import { SocketRole } from "./smartsocket.classes.socketrole";
|
||||||
/**
|
/**
|
||||||
* interface for constructor of class SocketConnection
|
* interface for constructor of class SocketConnection
|
||||||
*/
|
*/
|
||||||
export interface ISocketConnectionOptions {
|
export interface ISocketConnectionConstructorOptions {
|
||||||
alias?: string;
|
alias?: string;
|
||||||
authenticated: boolean;
|
authenticated: boolean;
|
||||||
role?: SocketRole;
|
role?: SocketRole;
|
||||||
socket: SocketIO.Socket;
|
socket?: SocketIO.Socket | SocketIOClient.Socket;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* interface for authentication data
|
* interface for authentication data
|
||||||
@ -26,8 +27,8 @@ export declare class SocketConnection {
|
|||||||
alias?: string;
|
alias?: string;
|
||||||
authenticated: boolean;
|
authenticated: boolean;
|
||||||
role?: SocketRole;
|
role?: SocketRole;
|
||||||
socket: SocketIO.Socket;
|
socket: SocketIO.Socket | SocketIOClient.Socket;
|
||||||
constructor(optionsArg: ISocketConnectionOptions);
|
constructor(optionsArg: ISocketConnectionConstructorOptions);
|
||||||
/**
|
/**
|
||||||
* authenticate the socket
|
* authenticate the socket
|
||||||
*/
|
*/
|
||||||
|
11
dist/smartsocket.classes.socketconnection.js
vendored
11
dist/smartsocket.classes.socketconnection.js
vendored
@ -14,6 +14,7 @@ class SocketConnection {
|
|||||||
this.role = optionsArg.role;
|
this.role = optionsArg.role;
|
||||||
this.socket = optionsArg.socket;
|
this.socket = optionsArg.socket;
|
||||||
}
|
}
|
||||||
|
// authenticating --------------------------
|
||||||
/**
|
/**
|
||||||
* authenticate the socket
|
* authenticate the socket
|
||||||
*/
|
*/
|
||||||
@ -25,7 +26,7 @@ class SocketConnection {
|
|||||||
if ((true)) {
|
if ((true)) {
|
||||||
this.alias = dataArg.alias;
|
this.alias = dataArg.alias;
|
||||||
this.authenticated = true;
|
this.authenticated = true;
|
||||||
this.role = helpers.findSocketRoleByString(dataArg.role);
|
this.role = helpers.getSocketRoleByName(dataArg.role);
|
||||||
this.socket.emit("authenticated");
|
this.socket.emit("authenticated");
|
||||||
plugins.beautylog.ok(`socket with >>alias ${this.alias} >>role ${this.role} is authenticated!`);
|
plugins.beautylog.ok(`socket with >>alias ${this.alias} >>role ${this.role} is authenticated!`);
|
||||||
done.resolve(this);
|
done.resolve(this);
|
||||||
@ -40,6 +41,7 @@ class SocketConnection {
|
|||||||
return done.promise;
|
return done.promise;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
// listening -------------------------------
|
||||||
/**
|
/**
|
||||||
* listen to function requests
|
* listen to function requests
|
||||||
*/
|
*/
|
||||||
@ -58,7 +60,7 @@ class SocketConnection {
|
|||||||
shortId: dataArg.shortId,
|
shortId: dataArg.shortId,
|
||||||
funcCallData: dataArg.funcCallData
|
funcCallData: dataArg.funcCallData
|
||||||
});
|
});
|
||||||
localSocketRequest;
|
localSocketRequest.createResponse(); // takes care of creating response and sending it back
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
plugins.beautylog.warn("function not existent or out of access scope");
|
plugins.beautylog.warn("function not existent or out of access scope");
|
||||||
@ -66,6 +68,8 @@ class SocketConnection {
|
|||||||
;
|
;
|
||||||
});
|
});
|
||||||
this.socket.on("functionResponse", (dataArg) => {
|
this.socket.on("functionResponse", (dataArg) => {
|
||||||
|
let targetSocketRequest = helpers.getSocketRequestById(dataArg.shortId);
|
||||||
|
targetSocketRequest.handleResponse(dataArg);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -74,7 +78,8 @@ class SocketConnection {
|
|||||||
;
|
;
|
||||||
return done.promise;
|
return done.promise;
|
||||||
}
|
}
|
||||||
|
;
|
||||||
}
|
}
|
||||||
exports.SocketConnection = SocketConnection;
|
exports.SocketConnection = SocketConnection;
|
||||||
;
|
;
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFZLE9BQU8sV0FBTSx1QkFBdUIsQ0FBQyxDQUFBO0FBQ2pELE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFJakQsb0RBQXdELHFDQUFxQyxDQUFDLENBQUE7QUFhN0YsQ0FBQztBQVdGLGlCQUFpQjtBQUVqQjs7R0FFRztBQUNIO0lBS0ksWUFBWSxVQUFvQztRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUNEOztPQUVHO0lBQ0gsWUFBWTtRQUNSLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLE9BQU87WUFDOUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsNERBQTRELENBQUMsQ0FBQztZQUNwRixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNsRCxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUE7Z0JBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dC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
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFZLE9BQU8sV0FBTSx1QkFBdUIsQ0FBQyxDQUFBO0FBQ2pELE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFJakQsb0RBQTJFLHFDQUFxQyxDQUFDLENBQUE7QUFhaEgsQ0FBQztBQVdGLGlCQUFpQjtBQUVqQjs7R0FFRztBQUNIO0lBS0ksWUFBWSxVQUErQztRQUN2RCxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUVELDRDQUE0QztJQUU1Qzs7T0FFRztJQUNILFlBQVk7UUFDUixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxPQUFPO1lBQzlCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDREQUE0RCxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEQsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO2dCQUMxQixJQUFJLENBQUMsYUFBYSxHQUFH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
|
18
dist/smartsocket.classes.socketfunction.d.ts
vendored
18
dist/smartsocket.classes.socketfunction.d.ts
vendored
@ -1,32 +1,40 @@
|
|||||||
/// <reference types="q" />
|
/// <reference types="q" />
|
||||||
import * as plugins from "./smartsocket.plugins";
|
import * as plugins from "./smartsocket.plugins";
|
||||||
|
import { Objectmap } from "lik";
|
||||||
import { SocketRole } from "./smartsocket.classes.socketrole";
|
import { SocketRole } from "./smartsocket.classes.socketrole";
|
||||||
/**
|
/**
|
||||||
* interface of the contructor options of class SocketFunction
|
* interface of the contructor options of class SocketFunction
|
||||||
*/
|
*/
|
||||||
export interface ISocketFunctionOptions {
|
export interface ISocketFunctionConstructorOptions {
|
||||||
funcName: string;
|
funcName: string;
|
||||||
funcDef: any;
|
funcDef: any;
|
||||||
allowedRoles: SocketRole[];
|
allowedRoles: SocketRole[];
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* interface of the Socket Function call
|
* interface of the Socket Function call, in other words the object that routes a call to a function
|
||||||
*/
|
*/
|
||||||
export interface ISocketFunctionCall {
|
export interface ISocketFunctionCall {
|
||||||
funcName: string;
|
funcName: string;
|
||||||
funcDataArg: any;
|
funcDataArg: any;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* interface for function definition of SocketFunction
|
||||||
|
*/
|
||||||
|
export interface IFuncDef {
|
||||||
|
(dataArg: any): PromiseLike<any>;
|
||||||
|
}
|
||||||
|
export declare let allSocketFunctions: Objectmap<SocketFunction>;
|
||||||
/**
|
/**
|
||||||
* class that respresents a function that can be transparently called using a SocketConnection
|
* class that respresents a function that can be transparently called using a SocketConnection
|
||||||
*/
|
*/
|
||||||
export declare class SocketFunction {
|
export declare class SocketFunction {
|
||||||
name: string;
|
name: string;
|
||||||
func: any;
|
funcDef: IFuncDef;
|
||||||
roles: SocketRole[];
|
roles: SocketRole[];
|
||||||
/**
|
/**
|
||||||
* the constructor for SocketFunction
|
* the constructor for SocketFunction
|
||||||
*/
|
*/
|
||||||
constructor(optionsArg: ISocketFunctionOptions);
|
constructor(optionsArg: ISocketFunctionConstructorOptions);
|
||||||
/**
|
/**
|
||||||
* notifies a role about access to this SocketFunction
|
* notifies a role about access to this SocketFunction
|
||||||
*/
|
*/
|
||||||
@ -34,5 +42,5 @@ export declare class SocketFunction {
|
|||||||
/**
|
/**
|
||||||
* invokes the function of this SocketFunction
|
* invokes the function of this SocketFunction
|
||||||
*/
|
*/
|
||||||
invoke(dataArg: any): plugins.q.Promise<any>;
|
invoke(dataArg: ISocketFunctionCall): plugins.q.Promise<any>;
|
||||||
}
|
}
|
||||||
|
20
dist/smartsocket.classes.socketfunction.js
vendored
20
dist/smartsocket.classes.socketfunction.js
vendored
@ -1,6 +1,11 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const plugins = require("./smartsocket.plugins");
|
const plugins = require("./smartsocket.plugins");
|
||||||
|
// import classes
|
||||||
|
const lik_1 = require("lik");
|
||||||
;
|
;
|
||||||
|
;
|
||||||
|
// export objects
|
||||||
|
exports.allSocketFunctions = new lik_1.Objectmap();
|
||||||
// export classes
|
// export classes
|
||||||
/**
|
/**
|
||||||
* class that respresents a function that can be transparently called using a SocketConnection
|
* class that respresents a function that can be transparently called using a SocketConnection
|
||||||
@ -11,11 +16,13 @@ class SocketFunction {
|
|||||||
*/
|
*/
|
||||||
constructor(optionsArg) {
|
constructor(optionsArg) {
|
||||||
this.name = optionsArg.funcName;
|
this.name = optionsArg.funcName;
|
||||||
this.func = optionsArg.funcDef;
|
this.funcDef = optionsArg.funcDef;
|
||||||
this.roles = optionsArg.allowedRoles;
|
this.roles = optionsArg.allowedRoles;
|
||||||
for (let socketRoleArg of this.roles) {
|
for (let socketRoleArg of this.roles) {
|
||||||
this._notifyRole(socketRoleArg);
|
this._notifyRole(socketRoleArg);
|
||||||
}
|
}
|
||||||
|
;
|
||||||
|
exports.allSocketFunctions.add(this); // map instance with Objectmap
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
/**
|
/**
|
||||||
@ -29,9 +36,18 @@ class SocketFunction {
|
|||||||
*/
|
*/
|
||||||
invoke(dataArg) {
|
invoke(dataArg) {
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
|
if (dataArg.funcName === this.name) {
|
||||||
|
this.funcDef(dataArg.funcDataArg)
|
||||||
|
.then((resultData) => {
|
||||||
|
done.resolve(resultData);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new Error("SocketFunction.name does not match the data argument's .name!");
|
||||||
|
}
|
||||||
return done.promise;
|
return done.promise;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
exports.SocketFunction = SocketFunction;
|
exports.SocketFunction = SocketFunction;
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRmdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc29ja2V0ZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFrQmhELENBQUM7QUFVRixpQkFBaUI7QUFFakI7O0dBRUc7QUFDSDtJQUtJOztPQUVHO0lBQ0gsWUFBWSxVQUFrQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUNyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQztZQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDOztJQUVEOztPQUVHO0lBQ0ssV0FBVyxDQUFDLGFBQXdCO1FBQ3hDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBVztRQUNkLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7QUFFTCxDQUFDO0FBaENZLHNCQUFjLGlCQWdDMUIsQ0FBQSJ9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRmdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc29ja2V0ZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFFakQsaUJBQWlCO0FBQ2pCLHNCQUEwQixLQUFLLENBQUMsQ0FBQTtBQVkvQixDQUFDO0FBUUQsQ0FBQztBQVNGLGlCQUFpQjtBQUNOLDBCQUFrQixHQUFHLElBQUksZUFBUyxFQUFrQixDQUFDO0FBRWhFLGlCQUFpQjtBQUVqQjs7R0FFRztBQUNIO0lBS0k7O09BRUc7SUFDSCxZQUFZLFVBQTZDO1FBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQ3JDLEdBQUcsQ0FBQyxDQUFDLElBQUksYUFBYSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUFBLENBQUM7UUFDRiwwQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyw4QkFBOEI7SUFDaEUsQ0FBQzs7SUFFRDs7T0FFRztJQUNLLFdBQVcsQ0FBQyxhQUF3QjtRQUN4QyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQTJCO1FBQzlCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQztZQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7aUJBQzVCLElBQUksQ0FBQyxDQUFDLFVBQWM7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFWCxDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixNQUFNLElBQUksS0FBSyxDQUFDLCtEQUErRCxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7O0FBRUwsQ0FBQztBQTFDWSxzQkFBYyxpQkEwQzFCLENBQUEifQ==
|
16
dist/smartsocket.classes.socketrequest.d.ts
vendored
16
dist/smartsocket.classes.socketrequest.d.ts
vendored
@ -22,17 +22,25 @@ export interface ISocketRequestDataObject {
|
|||||||
shortId: string;
|
shortId: string;
|
||||||
responseTimeout?: number;
|
responseTimeout?: number;
|
||||||
}
|
}
|
||||||
export declare let allRequestingSocketRequests: Objectmap<SocketRequest>;
|
export declare let allSocketRequests: Objectmap<SocketRequest>;
|
||||||
export declare let allRespondingSocketRequests: Objectmap<SocketRequest>;
|
|
||||||
export declare class SocketRequest {
|
export declare class SocketRequest {
|
||||||
status: TSocketRequestStatus;
|
status: TSocketRequestStatus;
|
||||||
side: TSocketRequestSide;
|
side: TSocketRequestSide;
|
||||||
shortid: string;
|
shortid: string;
|
||||||
originSocketConnection: SocketConnection;
|
originSocketConnection: SocketConnection;
|
||||||
requestData: ISocketRequestDataObject;
|
funcCallData: ISocketFunctionCall;
|
||||||
done: plugins.q.Deferred<{}>;
|
done: plugins.q.Deferred<{}>;
|
||||||
constructor(optionsArg: SocketRequestConstructorOptions);
|
constructor(optionsArg: SocketRequestConstructorOptions);
|
||||||
|
/**
|
||||||
|
* dispatches a socketrequest from the requesting to the receiving side
|
||||||
|
*/
|
||||||
dispatch(): plugins.q.Promise<{}>;
|
dispatch(): plugins.q.Promise<{}>;
|
||||||
|
/**
|
||||||
|
* handles the response that is received by the requesting side
|
||||||
|
*/
|
||||||
handleResponse(responseDataArg: ISocketRequestDataObject): void;
|
handleResponse(responseDataArg: ISocketRequestDataObject): void;
|
||||||
respond(dataArg: any): void;
|
/**
|
||||||
|
* creates the response on the responding side
|
||||||
|
*/
|
||||||
|
createResponse(): void;
|
||||||
}
|
}
|
||||||
|
51
dist/smartsocket.classes.socketrequest.js
vendored
51
dist/smartsocket.classes.socketrequest.js
vendored
@ -1,12 +1,12 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const plugins = require("./smartsocket.plugins");
|
const plugins = require("./smartsocket.plugins");
|
||||||
|
const helpers = require("./smartsocket.helpers");
|
||||||
// import classes
|
// import classes
|
||||||
const lik_1 = require("lik");
|
const lik_1 = require("lik");
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
//export objects
|
//export objects
|
||||||
exports.allRequestingSocketRequests = new lik_1.Objectmap();
|
exports.allSocketRequests = new lik_1.Objectmap();
|
||||||
exports.allRespondingSocketRequests = new lik_1.Objectmap();
|
|
||||||
// export classes
|
// export classes
|
||||||
class SocketRequest {
|
class SocketRequest {
|
||||||
constructor(optionsArg) {
|
constructor(optionsArg) {
|
||||||
@ -14,32 +14,47 @@ class SocketRequest {
|
|||||||
this.done = plugins.q.defer();
|
this.done = plugins.q.defer();
|
||||||
this.side = optionsArg.side;
|
this.side = optionsArg.side;
|
||||||
this.shortid = optionsArg.shortId;
|
this.shortid = optionsArg.shortId;
|
||||||
if (this.side === "requesting") {
|
this.funcCallData = optionsArg.funcCallData;
|
||||||
exports.allRequestingSocketRequests.add(this);
|
exports.allSocketRequests.add(this);
|
||||||
}
|
|
||||||
else {
|
|
||||||
exports.allRespondingSocketRequests.add(this);
|
|
||||||
}
|
|
||||||
;
|
|
||||||
// build request and response dataArg
|
|
||||||
this.requestData = {
|
|
||||||
funcCallData: optionsArg.funcCallData,
|
|
||||||
shortId: optionsArg.shortId
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
// requesting --------------------------
|
||||||
|
/**
|
||||||
|
* dispatches a socketrequest from the requesting to the receiving side
|
||||||
|
*/
|
||||||
dispatch() {
|
dispatch() {
|
||||||
this.originSocketConnection.socket.emit("function", this.requestData);
|
let requestData = {
|
||||||
|
funcCallData: this.funcCallData,
|
||||||
|
shortId: this.shortid
|
||||||
|
};
|
||||||
|
this.originSocketConnection.socket.emit("function", requestData);
|
||||||
return this.done.promise;
|
return this.done.promise;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
/**
|
||||||
|
* handles the response that is received by the requesting side
|
||||||
|
*/
|
||||||
handleResponse(responseDataArg) {
|
handleResponse(responseDataArg) {
|
||||||
this.done.resolve(responseDataArg);
|
this.done.resolve(responseDataArg);
|
||||||
|
exports.allSocketRequests.remove(this);
|
||||||
}
|
}
|
||||||
respond(dataArg) {
|
// responding --------------------------
|
||||||
|
/**
|
||||||
|
* creates the response on the responding side
|
||||||
|
*/
|
||||||
|
createResponse() {
|
||||||
|
let targetSocketFunction = helpers.getSocketFunctionByName(this.funcCallData.funcName);
|
||||||
|
targetSocketFunction.invoke(this.funcCallData)
|
||||||
|
.then((resultData) => {
|
||||||
|
let requestData = {
|
||||||
|
funcCallData: resultData,
|
||||||
|
shortId: this.shortid
|
||||||
|
};
|
||||||
|
this.originSocketConnection.socket.emit("functionResponse", requestData);
|
||||||
|
exports.allSocketRequests.remove(this);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
;
|
|
||||||
}
|
}
|
||||||
exports.SocketRequest = SocketRequest;
|
exports.SocketRequest = SocketRequest;
|
||||||
;
|
;
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFZLE9BQU8sV0FBTSx1QkFBdUIsQ0FBQyxDQUFBO0FBS2pELGlCQUFpQjtBQUNqQixzQkFBMEIsS0FBSyxDQUFDLENBQUE7QUFnQi9CLENBQUM7QUFTRCxDQUFDO0FBRUYsZ0JBQWdCO0FBQ0wsbUNBQTJCLEdBQUcsSUFBSSxlQUFTLEVBQWlCLENBQUM7QUFDN0QsbUNBQTJCLEdBQUcsSUFBSSxlQUFTLEVBQWlCLENBQUM7QUFFeEUsaUJBQWlCO0FBQ2pCO0lBT0ksWUFBWSxVQUEyQztRQU52RCxXQUFNLEdBQXlCLEtBQUssQ0FBQztRQUtyQyxTQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVyQixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ2xDLEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUEsQ0FBQztZQUMzQixtQ0FBMkIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osbUNBQTJCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFBQSxDQUFDO1FBQ0YscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDZixZQUFZLEVBQUMsVUFBVSxDQUFDLFlBQVk7WUFDcEMsT0FBTyxFQUFDLFVBQVUsQ0FBQyxPQUFPO1NBQzdCLENBQUE7SUFDTCxDQUFDOztJQUNELFFBQVE7UUFDSixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDOztJQUNELGNBQWMsQ0FBQyxlQUF3QztRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsT0FBTyxDQUFDLE9BQU87SUFFZixDQUFDOztBQUNMLENBQUM7QUEvQlkscUJBQWEsZ0JBK0J6QixDQUFBO0FBQUEsQ0FBQyJ9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFZLE9BQU8sV0FBTSx1QkFBdUIsQ0FBQyxDQUFBO0FBQ2pELE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFLakQsaUJBQWlCO0FBQ2pCLHNCQUEwQixLQUFLLENBQUMsQ0FBQTtBQWdCL0IsQ0FBQztBQVNELENBQUM7QUFFRixnQkFBZ0I7QUFDTCx5QkFBaUIsR0FBRyxJQUFJLGVBQVMsRUFBaUIsQ0FBQztBQUU5RCxpQkFBaUI7QUFDakI7SUFPSSxZQUFZLFVBQTJDO1FBTnZELFdBQU0sR0FBeUIsS0FBSyxDQUFDO1FBS3JDLFNBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXJCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzVDLHlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOztJQUVELHdDQUF3QztJQUV4Qzs7T0FFRztJQUNILFFBQVE7UUFDSixJQUFJLFdBQVcsR0FBNkI7WUFDeEMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN4QixDQUFBO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDOztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLGVBQXlDO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25DLHlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsd0NBQXdDO0lBRXhDOztPQUVHO0lBQ0gsY0FBYztRQUNWLElBQUksb0JBQW9CLEdBQW1CLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3pDLElBQUksQ0FBQyxDQUFDLFVBQVU7WUFDYixJQUFJLFdBQVcsR0FBNkI7Z0JBQ3hDLFlBQVksRUFBRSxVQUFVO2dCQUN4QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDeEIsQ0FBQTtZQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hFLHlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7QUFDTCxDQUFDO0FBckRZLHFCQUFhLGdCQXFEekIsQ0FBQTtBQUFBLENBQUMifQ==
|
12
dist/smartsocket.helpers.d.ts
vendored
12
dist/smartsocket.helpers.d.ts
vendored
@ -1,2 +1,12 @@
|
|||||||
|
import { SocketFunction } from "./smartsocket.classes.socketfunction";
|
||||||
|
import { SocketRequest } from "./smartsocket.classes.socketrequest";
|
||||||
import { SocketRole } from "./smartsocket.classes.socketrole";
|
import { SocketRole } from "./smartsocket.classes.socketrole";
|
||||||
export declare let findSocketRoleByString: (socketRoleNameArg: string) => SocketRole;
|
export declare let getSocketFunctionByName: (functionNameArg: string) => SocketFunction;
|
||||||
|
/**
|
||||||
|
* get corresponding Socketrequest instance by shortId
|
||||||
|
*/
|
||||||
|
export declare let getSocketRequestById: (shortIdArg: string, requestSide?: "requesting" | "responding") => SocketRequest;
|
||||||
|
/**
|
||||||
|
* get corresponding SocketRole instance by name
|
||||||
|
*/
|
||||||
|
export declare let getSocketRoleByName: (socketRoleNameArg: string) => SocketRole;
|
||||||
|
20
dist/smartsocket.helpers.js
vendored
20
dist/smartsocket.helpers.js
vendored
@ -1,7 +1,23 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
const smartsocket_classes_socketfunction_1 = require("./smartsocket.classes.socketfunction");
|
||||||
|
const smartsocket_classes_socketrequest_1 = require("./smartsocket.classes.socketrequest");
|
||||||
const smartsocket_classes_socketrole_1 = require("./smartsocket.classes.socketrole");
|
const smartsocket_classes_socketrole_1 = require("./smartsocket.classes.socketrole");
|
||||||
|
// SocketFunction helpers
|
||||||
|
exports.getSocketFunctionByName = (functionNameArg) => {
|
||||||
|
return smartsocket_classes_socketfunction_1.allSocketFunctions.find((socketFunctionArg) => { return socketFunctionArg.name === functionNameArg; });
|
||||||
|
};
|
||||||
|
// SocketRequest helpers
|
||||||
|
/**
|
||||||
|
* get corresponding Socketrequest instance by shortId
|
||||||
|
*/
|
||||||
|
exports.getSocketRequestById = (shortIdArg, requestSide) => {
|
||||||
|
return smartsocket_classes_socketrequest_1.allSocketRequests.find((socketRequestArg) => { return socketRequestArg.shortid === shortIdArg; });
|
||||||
|
};
|
||||||
// SocketRole helpers
|
// SocketRole helpers
|
||||||
exports.findSocketRoleByString = (socketRoleNameArg) => {
|
/**
|
||||||
|
* get corresponding SocketRole instance by name
|
||||||
|
*/
|
||||||
|
exports.getSocketRoleByName = (socketRoleNameArg) => {
|
||||||
return smartsocket_classes_socketrole_1.allSocketRoles.find((socketRoleArg) => { return socketRoleArg.name === socketRoleNameArg; });
|
return smartsocket_classes_socketrole_1.allSocketRoles.find((socketRoleArg) => { return socketRoleArg.name === socketRoleNameArg; });
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQU1BLGlEQUEyQyxrQ0FBa0MsQ0FBQyxDQUFBO0FBRzlFLHFCQUFxQjtBQUNWLDhCQUFzQixHQUFHLENBQUMsaUJBQXlCO0lBQzFELE1BQU0sQ0FBQywrQ0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3RHLENBQUMsQ0FBQyJ9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUlBLHFEQUFtRCxzQ0FBc0MsQ0FBQyxDQUFBO0FBRTFGLG9EQUFxRSxxQ0FBcUMsQ0FBQyxDQUFBO0FBQzNHLGlEQUEyQyxrQ0FBa0MsQ0FBQyxDQUFBO0FBRTlFLHlCQUF5QjtBQUNkLCtCQUF1QixHQUFHLENBQUMsZUFBdUI7SUFDekQsTUFBTSxDQUFDLHVEQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLGlCQUFpQixPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakgsQ0FBQyxDQUFBO0FBRUQsd0JBQXdCO0FBRXhCOztHQUVHO0FBQ1EsNEJBQW9CLEdBQUcsQ0FBQyxVQUFpQixFQUFDLFdBQStCO0lBQ2hGLE1BQU0sQ0FBQyxxREFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsT0FBTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBO0FBQ3pHLENBQUMsQ0FBQTtBQUVELHFCQUFxQjtBQUVyQjs7R0FFRztBQUNRLDJCQUFtQixHQUFHLENBQUMsaUJBQXlCO0lBQ3ZELE1BQU0sQ0FBQywrQ0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3RHLENBQUMsQ0FBQyJ9
|
32
test/test.ts
32
test/test.ts
@ -4,35 +4,33 @@ import socketIoClient = require("socket.io-client");
|
|||||||
import smartsocket = require("../dist/index");
|
import smartsocket = require("../dist/index");
|
||||||
|
|
||||||
let testSmartsocket: smartsocket.Smartsocket;
|
let testSmartsocket: smartsocket.Smartsocket;
|
||||||
|
let testSmartsocketClient: smartsocket.SmartsocketClient;
|
||||||
|
|
||||||
|
let testConfig = {
|
||||||
|
port:3000
|
||||||
|
}
|
||||||
|
|
||||||
describe("smartsocket", function () {
|
describe("smartsocket", function () {
|
||||||
it("should create a new smartsocket", function () {
|
it("should create a new smartsocket", function () {
|
||||||
testSmartsocket = new smartsocket.Smartsocket({ port: 3000 });
|
testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port });
|
||||||
testSmartsocket.should.be.instanceOf(smartsocket.Smartsocket);
|
testSmartsocket.should.be.instanceOf(smartsocket.Smartsocket);
|
||||||
});
|
});
|
||||||
it("should register a new Function",function(){
|
it("should register a new Function", function () {
|
||||||
|
|
||||||
})
|
})
|
||||||
it("should start listening when .started is called",function(){
|
it("should start listening when .started is called", function () {
|
||||||
testSmartsocket.startServer();
|
testSmartsocket.startServer();
|
||||||
})
|
})
|
||||||
it("should react to a new websocket connection", function (done) {
|
it("should react to a new websocket connection", function (done) {
|
||||||
this.timeout(10000);
|
this.timeout(10000);
|
||||||
let socket = socketIoClient("http://localhost:3000", {});
|
testSmartsocketClient = new smartsocket.SmartsocketClient({
|
||||||
socket.on("requestAuth", function () {
|
port: testConfig.port,
|
||||||
console.log("server requested authentication");
|
url: "http://localhost",
|
||||||
socket.emit("dataAuth", {
|
password:"testPassword",
|
||||||
role: "coreflowContainer",
|
alias: "testClient1"
|
||||||
password: "somePassword",
|
|
||||||
alias: "coreflow1"
|
|
||||||
});
|
|
||||||
socket.on("authenticated",() => {
|
|
||||||
console.log("client is authenticated");
|
|
||||||
done();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
it("should close the server", function () {
|
||||||
it("should close the server",function(){
|
|
||||||
testSmartsocket.closeServer();
|
testSmartsocket.closeServer();
|
||||||
})
|
});
|
||||||
});
|
});
|
@ -69,6 +69,7 @@ export class SocketRequest {
|
|||||||
*/
|
*/
|
||||||
handleResponse(responseDataArg: ISocketRequestDataObject) {
|
handleResponse(responseDataArg: ISocketRequestDataObject) {
|
||||||
this.done.resolve(responseDataArg);
|
this.done.resolve(responseDataArg);
|
||||||
|
allSocketRequests.remove(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// responding --------------------------
|
// responding --------------------------
|
||||||
@ -85,6 +86,7 @@ export class SocketRequest {
|
|||||||
shortId: this.shortid
|
shortId: this.shortid
|
||||||
}
|
}
|
||||||
this.originSocketConnection.socket.emit("functionResponse",requestData);
|
this.originSocketConnection.socket.emit("functionResponse",requestData);
|
||||||
|
allSocketRequests.remove(this);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user