sockethub 5.0.0-alpha.0 → 5.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/sockethub +2 -29
- package/build.js +21 -0
- package/package.json +15 -65
- package/{dist/defaults.json → sockethub.config.json} +8 -7
- package/tsconfig.json +6 -68
- package/README.md +0 -98
- package/config.json.example +0 -32
- package/coverage/tmp/coverage-15699-1646422276150-0.json +0 -1
- package/dist/bootstrap/init.js +0 -74
- package/dist/bootstrap/init.js.map +0 -1
- package/dist/bootstrap/platforms.js +0 -103
- package/dist/common.js +0 -20
- package/dist/common.js.map +0 -1
- package/dist/config.js +0 -60
- package/dist/config.js.map +0 -1
- package/dist/crypto.js +0 -38
- package/dist/crypto.js.map +0 -1
- package/dist/janitor.js +0 -98
- package/dist/janitor.js.map +0 -1
- package/dist/middleware/create-activity-object.js +0 -19
- package/dist/middleware/create-activity-object.js.map +0 -1
- package/dist/middleware/expand-activity-stream.js +0 -33
- package/dist/middleware/expand-activity-stream.js.map +0 -1
- package/dist/middleware/expand-activity-stream.test.data.js +0 -360
- package/dist/middleware/expand-activity-stream.test.data.js.map +0 -1
- package/dist/middleware/store-credentials.js +0 -19
- package/dist/middleware/store-credentials.js.map +0 -1
- package/dist/middleware/validate.js +0 -77
- package/dist/middleware/validate.js.map +0 -1
- package/dist/middleware/validate.test.data.js +0 -321
- package/dist/middleware/validate.test.data.js.map +0 -1
- package/dist/middleware.js +0 -54
- package/dist/middleware.js.map +0 -1
- package/dist/platform-instance.js +0 -226
- package/dist/platform-instance.js.map +0 -1
- package/dist/platform.js +0 -186
- package/dist/platform.js.map +0 -1
- package/dist/process-manager.js +0 -78
- package/dist/process-manager.js.map +0 -1
- package/dist/routes.js +0 -84
- package/dist/routes.js.map +0 -1
- package/dist/serve.js +0 -102
- package/dist/serve.js.map +0 -1
- package/dist/sockethub-client.js +0 -2604
- package/dist/sockethub-client.js.map +0 -1
- package/dist/sockethub-client.min.js +0 -2
- package/dist/sockethub-client.min.js.LICENSE.txt +0 -24
- package/dist/sockethub.js +0 -130
- package/dist/sockethub.js.map +0 -1
- package/dist/store.js +0 -17
- package/dist/store.js.map +0 -1
- package/src/bootstrap/init.d.ts +0 -8
- package/src/bootstrap/init.ts +0 -91
- package/src/bootstrap/platforms.js +0 -103
- package/src/common.test.ts +0 -54
- package/src/common.ts +0 -14
- package/src/config.d.ts +0 -2
- package/src/config.test.ts +0 -28
- package/src/config.ts +0 -72
- package/src/crypto.d.ts +0 -5
- package/src/crypto.test.ts +0 -41
- package/src/crypto.ts +0 -41
- package/src/defaults.json +0 -32
- package/src/janitor.d.ts +0 -8
- package/src/janitor.ts +0 -89
- package/src/middleware/create-activity-object.test.ts +0 -10
- package/src/middleware/create-activity-object.ts +0 -13
- package/src/middleware/expand-activity-stream.test.data.ts +0 -365
- package/src/middleware/expand-activity-stream.test.ts +0 -78
- package/src/middleware/expand-activity-stream.ts +0 -27
- package/src/middleware/store-credentials.test.ts +0 -72
- package/src/middleware/store-credentials.ts +0 -16
- package/src/middleware/validate.d.ts +0 -1
- package/src/middleware/validate.test.data.ts +0 -320
- package/src/middleware/validate.test.ts +0 -47
- package/src/middleware/validate.ts +0 -49
- package/src/middleware.d.ts +0 -21
- package/src/middleware.test.ts +0 -148
- package/src/middleware.ts +0 -52
- package/src/platform-instance.test.ts +0 -237
- package/src/platform-instance.ts +0 -236
- package/src/platform.ts +0 -189
- package/src/process-manager.ts +0 -64
- package/src/routes.test.ts +0 -100
- package/src/routes.ts +0 -93
- package/src/serve.ts +0 -79
- package/src/sockethub-client.test.ts +0 -235
- package/src/sockethub-client.ts +0 -164
- package/src/sockethub.d.ts +0 -1
- package/src/sockethub.ts +0 -184
- package/src/store.test.ts +0 -26
- package/src/store.ts +0 -17
- package/test/init-suite.js +0 -41
- package/test/sockethub-suite.js +0 -25
- package/views/examples/dummy.ejs +0 -93
- package/views/examples/feeds.ejs +0 -90
- package/views/examples/irc.ejs +0 -239
- package/views/examples/shared.js +0 -72
- package/views/examples/xmpp.ejs +0 -191
- package/views/index.ejs +0 -17
- package/webpack.minified.config.js +0 -14
- package/webpack.normal.config.js +0 -14
package/dist/platform.js
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const debug_1 = __importDefault(require("debug"));
|
|
7
|
-
const object_hash_1 = __importDefault(require("object-hash"));
|
|
8
|
-
const config_1 = __importDefault(require("./config"));
|
|
9
|
-
const bull_1 = __importDefault(require("bull"));
|
|
10
|
-
const common_1 = require("./common");
|
|
11
|
-
const store_1 = require("./store");
|
|
12
|
-
// command-line params
|
|
13
|
-
const parentId = process.argv[2];
|
|
14
|
-
const platformName = process.argv[3];
|
|
15
|
-
let identifier = process.argv[4];
|
|
16
|
-
const loggerPrefix = `sockethub:platform:${platformName}:${identifier}`;
|
|
17
|
-
let logger = (0, debug_1.default)(loggerPrefix);
|
|
18
|
-
const PlatformModule = require(`sockethub-platform-${platformName}`);
|
|
19
|
-
let queueStarted = false;
|
|
20
|
-
let parentSecret1, parentSecret2;
|
|
21
|
-
logger(`platform handler initialized for ${platformName} ${identifier}`);
|
|
22
|
-
/**
|
|
23
|
-
* Handle any uncaught errors from the platform by alerting the worker and shutting down.
|
|
24
|
-
*/
|
|
25
|
-
process.on('uncaughtException', (err) => {
|
|
26
|
-
console.log('EXCEPTION IN PLATFORM');
|
|
27
|
-
// eslint-disable-next-line security-node/detect-crlf
|
|
28
|
-
console.log(err.stack);
|
|
29
|
-
process.send(['error', err.toString()]);
|
|
30
|
-
process.exit(1);
|
|
31
|
-
});
|
|
32
|
-
/**
|
|
33
|
-
* Incoming messages from the worker to this platform. Data is an array, the first property is the
|
|
34
|
-
* method to call, the rest are params.
|
|
35
|
-
*/
|
|
36
|
-
process.on('message', (data) => {
|
|
37
|
-
if (data[0] === 'secrets') {
|
|
38
|
-
parentSecret1 = data[1].parentSecret1;
|
|
39
|
-
parentSecret2 = data[1].parentSecret2;
|
|
40
|
-
startQueueListener();
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
/**
|
|
44
|
-
* Initialize platform module
|
|
45
|
-
*/
|
|
46
|
-
const platformSession = {
|
|
47
|
-
debug: (0, debug_1.default)(`sockethub:platform:${platformName}:${identifier}`),
|
|
48
|
-
sendToClient: getSendFunction('message'),
|
|
49
|
-
updateActor: updateActor
|
|
50
|
-
};
|
|
51
|
-
const platform = new PlatformModule(platformSession);
|
|
52
|
-
/**
|
|
53
|
-
* Get the credentials stored for this user in this sessions store, if given the correct
|
|
54
|
-
* sessionSecret.
|
|
55
|
-
* @param actorId
|
|
56
|
-
* @param sessionId
|
|
57
|
-
* @param sessionSecret
|
|
58
|
-
* @param cb
|
|
59
|
-
*/
|
|
60
|
-
function getCredentials(actorId, sessionId, sessionSecret, cb) {
|
|
61
|
-
if (platform.config.noCredentials) {
|
|
62
|
-
return cb();
|
|
63
|
-
}
|
|
64
|
-
const store = (0, store_1.getSessionStore)(parentId, parentSecret1, sessionId, sessionSecret);
|
|
65
|
-
store.get(actorId, (err, credentials) => {
|
|
66
|
-
if (platform.config.persist) {
|
|
67
|
-
// don't continue if we don't get credentials
|
|
68
|
-
if (err) {
|
|
69
|
-
return cb(err);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else if (!credentials) {
|
|
73
|
-
// also skip if this is a non-persist platform with no credentials
|
|
74
|
-
return cb();
|
|
75
|
-
}
|
|
76
|
-
if (platform.credentialsHash) {
|
|
77
|
-
if (platform.credentialsHash !== (0, object_hash_1.default)(credentials.object)) {
|
|
78
|
-
return cb('provided credentials do not match existing platform instance for actor '
|
|
79
|
-
+ platform.actor.id);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
platform.credentialsHash = (0, object_hash_1.default)(credentials.object);
|
|
84
|
-
}
|
|
85
|
-
cb(undefined, credentials);
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Returns a function used to handle completed jobs from the platform code (the `done` callback).
|
|
90
|
-
* @param secret the secret used to decrypt credentials
|
|
91
|
-
*/
|
|
92
|
-
function getJobHandler(secret) {
|
|
93
|
-
return (job, done) => {
|
|
94
|
-
const jobData = (0, common_1.decryptJobData)(job, secret);
|
|
95
|
-
const jobLog = (0, debug_1.default)(`${loggerPrefix}:${jobData.sessionId}`);
|
|
96
|
-
jobLog(`received ${jobData.title} ${jobData.msg.type}`);
|
|
97
|
-
const sessionSecret = jobData.msg.sessionSecret;
|
|
98
|
-
delete jobData.msg.sessionSecret;
|
|
99
|
-
return getCredentials(jobData.msg.actor.id, jobData.sessionId, sessionSecret, (err, credentials) => {
|
|
100
|
-
if (err) {
|
|
101
|
-
return done(new Error(err));
|
|
102
|
-
}
|
|
103
|
-
let jobCallbackCalled = false;
|
|
104
|
-
const doneCallback = (err, result) => {
|
|
105
|
-
if (jobCallbackCalled) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
jobCallbackCalled = true;
|
|
109
|
-
if (err) {
|
|
110
|
-
jobLog(`errored ${jobData.title} ${jobData.msg.type}`);
|
|
111
|
-
let errMsg;
|
|
112
|
-
// some error objects (eg. TimeoutError) don't interoplate correctly to human-readable
|
|
113
|
-
// so we have to do this little dance
|
|
114
|
-
try {
|
|
115
|
-
errMsg = err.toString();
|
|
116
|
-
}
|
|
117
|
-
catch (e) {
|
|
118
|
-
errMsg = err;
|
|
119
|
-
}
|
|
120
|
-
done(new Error(errMsg));
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
jobLog(`completed ${jobData.title} ${jobData.msg.type}`);
|
|
124
|
-
done(null, result);
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
if ((Array.isArray(platform.config.requireCredentials)) &&
|
|
128
|
-
(platform.config.requireCredentials.includes(jobData.msg.type))) {
|
|
129
|
-
// add the credentials object if this method requires it
|
|
130
|
-
platform[jobData.msg.type](jobData.msg, credentials, doneCallback);
|
|
131
|
-
}
|
|
132
|
-
else if (platform.config.persist) {
|
|
133
|
-
if (platform.initialized) {
|
|
134
|
-
platform[jobData.msg.type](jobData.msg, doneCallback);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
done(new Error(`${jobData.msg.type} called on uninitialized platform`));
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
platform[jobData.msg.type](jobData.msg, doneCallback);
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Get an function which sends a message to the parent thread (PlatformInstance). The platform
|
|
148
|
-
* can call that function to send messages back to the client.
|
|
149
|
-
* @param command string containing the type of command to be sent. 'message' or 'close'
|
|
150
|
-
*/
|
|
151
|
-
function getSendFunction(command) {
|
|
152
|
-
return function (msg, special) {
|
|
153
|
-
process.send([command, msg, special]);
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* When a user changes it's actor name, the channel identifier changes, we need to ensure that
|
|
158
|
-
* both the queue thread (listening on the channel for jobs) and the logging object are updated.
|
|
159
|
-
* @param credentials
|
|
160
|
-
*/
|
|
161
|
-
function updateActor(credentials) {
|
|
162
|
-
identifier = (0, common_1.getPlatformId)(platformName, credentials.actor.id);
|
|
163
|
-
logger(`platform actor updated to ${credentials.actor.id} identifier ${identifier}`);
|
|
164
|
-
logger = (0, debug_1.default)(`sockethub:platform:${identifier}`);
|
|
165
|
-
platform.credentialsHash = (0, object_hash_1.default)(credentials.object);
|
|
166
|
-
platform.debug = (0, debug_1.default)(`sockethub:platform:${platformName}:${identifier}`);
|
|
167
|
-
process.send(['updateActor', undefined, identifier]);
|
|
168
|
-
startQueueListener(true);
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* starts listening on the queue for incoming jobs
|
|
172
|
-
* @param refresh boolean if the param is true, we re-init the queue.process
|
|
173
|
-
* (used when identifier changes)
|
|
174
|
-
*/
|
|
175
|
-
function startQueueListener(refresh = false) {
|
|
176
|
-
const secret = parentSecret1 + parentSecret2;
|
|
177
|
-
if ((queueStarted) && (!refresh)) {
|
|
178
|
-
logger('start queue called multiple times, skipping');
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
const queue = new bull_1.default(parentId + identifier, { redis: config_1.default.get('redis') });
|
|
182
|
-
queueStarted = true;
|
|
183
|
-
logger('listening on the queue for incoming jobs');
|
|
184
|
-
queue.process(getJobHandler(secret));
|
|
185
|
-
}
|
|
186
|
-
//# sourceMappingURL=/platform.js.map
|
package/dist/platform.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"/","sources":["platform.ts"],"names":[],"mappings":"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"}
|
package/dist/process-manager.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
const init_1 = __importDefault(require("./bootstrap/init"));
|
|
26
|
-
const platform_instance_1 = __importStar(require("./platform-instance"));
|
|
27
|
-
const common_1 = require("./common");
|
|
28
|
-
class ProcessManager {
|
|
29
|
-
constructor(parentId, parentSecret1, parentSecret2) {
|
|
30
|
-
this.parentId = parentId;
|
|
31
|
-
this.parentSecret1 = parentSecret1;
|
|
32
|
-
this.parentSecret2 = parentSecret2;
|
|
33
|
-
}
|
|
34
|
-
get(platform, actorId, sessionId) {
|
|
35
|
-
const platformDetails = init_1.default.platforms.get(platform);
|
|
36
|
-
let pi;
|
|
37
|
-
if (platformDetails.config.persist) {
|
|
38
|
-
// ensure process is started - one for each actor
|
|
39
|
-
pi = this.ensureProcess(platform, sessionId, actorId);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
// ensure process is started - one for all jobs
|
|
43
|
-
pi = this.ensureProcess(platform);
|
|
44
|
-
}
|
|
45
|
-
pi.config = platformDetails.config;
|
|
46
|
-
return pi;
|
|
47
|
-
}
|
|
48
|
-
createPlatformInstance(identifier, platform, actor) {
|
|
49
|
-
const secrets = [
|
|
50
|
-
'secrets', {
|
|
51
|
-
parentSecret1: this.parentSecret1,
|
|
52
|
-
parentSecret2: this.parentSecret2
|
|
53
|
-
}
|
|
54
|
-
];
|
|
55
|
-
const platformInstanceConfig = {
|
|
56
|
-
identifier: identifier,
|
|
57
|
-
platform: platform,
|
|
58
|
-
parentId: this.parentId,
|
|
59
|
-
actor: actor
|
|
60
|
-
};
|
|
61
|
-
const platformInstance = new platform_instance_1.default(platformInstanceConfig);
|
|
62
|
-
platformInstance.initQueue(this.parentSecret1 + this.parentSecret2);
|
|
63
|
-
platformInstance.process.send(secrets);
|
|
64
|
-
return platformInstance;
|
|
65
|
-
}
|
|
66
|
-
ensureProcess(platform, sessionId, actor) {
|
|
67
|
-
const identifier = (0, common_1.getPlatformId)(platform, actor);
|
|
68
|
-
const platformInstance = platform_instance_1.platformInstances.get(identifier) ||
|
|
69
|
-
this.createPlatformInstance(identifier, platform, actor);
|
|
70
|
-
if (sessionId) {
|
|
71
|
-
platformInstance.registerSession(sessionId);
|
|
72
|
-
}
|
|
73
|
-
platform_instance_1.platformInstances.set(identifier, platformInstance);
|
|
74
|
-
return platformInstance;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
exports.default = ProcessManager;
|
|
78
|
-
//# sourceMappingURL=/process-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process-manager.js","sourceRoot":"/","sources":["process-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAAoC;AACpC,yEAC4F;AAC5F,qCAAyC;AAEzC,MAAM,cAAc;IAKlB,YAAY,QAAgB,EAAE,aAAqB,EAAE,aAAqB;QACxE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAE,SAAkB;QACvD,MAAM,eAAe,GAAG,cAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,EAAE,CAAC;QAEP,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE;YAClC,iDAAiD;YACjD,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SACvD;aAAM;YACL,+CAA+C;YAC/C,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SACnC;QACD,EAAE,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,sBAAsB,CAAC,UAAkB,EAAE,QAAgB,EACpC,KAAc;QAC3C,MAAM,OAAO,GAAsB;YACjC,SAAS,EAAE;gBACT,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC;SACF,CAAC;QACF,MAAM,sBAAsB,GAA2B;YACrD,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,KAAK;SACb,CAAC;QACF,MAAM,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,sBAAsB,CAAC,CAAC;QACtE,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QACpE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,aAAa,CAAC,QAAgB,EAAE,SAAkB,EAAE,KAAc;QACxE,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,qCAAiB,CAAC,GAAG,CAAC,UAAU,CAAC;YAChD,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,SAAS,EAAE;YACb,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,qCAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AAED,kBAAe,cAAc,CAAC"}
|
package/dist/routes.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.examplePages = exports.examplePaths = exports.basePaths = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const config_1 = __importDefault(require("./config"));
|
|
9
|
-
const debug_1 = __importDefault(require("debug"));
|
|
10
|
-
const debug_scope = process.env.DEBUG || '', logger = (0, debug_1.default)('sockethub:routes'), address = config_1.default.get('public:protocol') + '://' +
|
|
11
|
-
config_1.default.get('public:host') + ':' +
|
|
12
|
-
config_1.default.get('public:port') +
|
|
13
|
-
config_1.default.get('public:path');
|
|
14
|
-
exports.basePaths = {
|
|
15
|
-
'/sockethub-client.js': path_1.default.resolve(`${__dirname}/../dist/sockethub-client.js`),
|
|
16
|
-
'/sockethub-client.min.js': path_1.default.resolve(`${__dirname}/../dist/sockethub-client.min.js`),
|
|
17
|
-
'/sockethub-client.js.map': path_1.default.resolve(`${__dirname}/../dist/sockethub-client.js.map`),
|
|
18
|
-
'/socket.io.js': path_1.default.resolve(`${__dirname}/../node_modules/socket.io/client-dist/socket.io.js`),
|
|
19
|
-
'/socket.io.js.map': path_1.default.resolve(`${__dirname}/../node_modules/socket.io/client-dist/socket.io.js.map`),
|
|
20
|
-
};
|
|
21
|
-
exports.examplePaths = {
|
|
22
|
-
'/jquery.js': path_1.default.resolve(`${__dirname}/../node_modules/jquery/dist/jquery.min.js`),
|
|
23
|
-
'/jquery.min.map': path_1.default.resolve(`${__dirname}/../node_modules/jquery/dist/jquery.min.map`),
|
|
24
|
-
'/examples/shared.js': path_1.default.resolve(`${__dirname}/../views/examples/shared.js`)
|
|
25
|
-
};
|
|
26
|
-
exports.examplePages = {
|
|
27
|
-
'/': path_1.default.resolve(`${__dirname}/../views/index.ejs`),
|
|
28
|
-
'/examples/dummy': path_1.default.resolve(`${__dirname}/../views/examples/dummy.ejs`),
|
|
29
|
-
'/examples/feeds': path_1.default.resolve(`${__dirname}/../views/examples/feeds.ejs`),
|
|
30
|
-
'/examples/irc': path_1.default.resolve(`${__dirname}/../views/examples/irc.ejs`),
|
|
31
|
-
'/examples/xmpp': path_1.default.resolve(`${__dirname}/../views/examples/xmpp.ejs`)
|
|
32
|
-
};
|
|
33
|
-
function prepFileRoutes(pathMap) {
|
|
34
|
-
let _routes = [];
|
|
35
|
-
Object.keys(pathMap).forEach((key) => {
|
|
36
|
-
_routes.push({
|
|
37
|
-
meta: {
|
|
38
|
-
method: 'GET',
|
|
39
|
-
path: key
|
|
40
|
-
},
|
|
41
|
-
route: (req, res) => {
|
|
42
|
-
logger(`serving resource ${req.url}`);
|
|
43
|
-
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
44
|
-
res.sendFile(pathMap[req.url]);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
return _routes;
|
|
49
|
-
}
|
|
50
|
-
const baseRoutes = prepFileRoutes(exports.basePaths);
|
|
51
|
-
const exampleRoutes = prepFileRoutes(exports.examplePaths);
|
|
52
|
-
Object.keys(exports.examplePages).forEach((key) => {
|
|
53
|
-
exampleRoutes.push({
|
|
54
|
-
meta: {
|
|
55
|
-
method: 'GET',
|
|
56
|
-
path: key
|
|
57
|
-
},
|
|
58
|
-
route: (req, res) => {
|
|
59
|
-
logger(`serving page ${req.url}`);
|
|
60
|
-
res.render(exports.examplePages[req.url], {
|
|
61
|
-
debug_scope: debug_scope,
|
|
62
|
-
address: address,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
function addRoute(app) {
|
|
68
|
-
return (route) => {
|
|
69
|
-
app[route.meta.method.toLowerCase()](route.meta.path, route.route);
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Setup
|
|
74
|
-
*/
|
|
75
|
-
const routes = {
|
|
76
|
-
setup: function (app, examplesEnabled = config_1.default.get('examples:enabled')) {
|
|
77
|
-
baseRoutes.forEach(addRoute(app));
|
|
78
|
-
if (examplesEnabled) {
|
|
79
|
-
exampleRoutes.forEach(addRoute(app));
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
exports.default = routes;
|
|
84
|
-
//# sourceMappingURL=/routes.js.map
|
package/dist/routes.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"/","sources":["routes.ts"],"names":[],"mappings":"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"}
|
package/dist/serve.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
31
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
32
|
-
};
|
|
33
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
-
exports.getSocket = void 0;
|
|
35
|
-
const debug_1 = __importDefault(require("debug"));
|
|
36
|
-
const body_parser_1 = __importDefault(require("body-parser"));
|
|
37
|
-
const express_1 = __importDefault(require("express"));
|
|
38
|
-
const HTTP = __importStar(require("http"));
|
|
39
|
-
const socket_io_1 = require("socket.io");
|
|
40
|
-
const config_1 = __importDefault(require("./config"));
|
|
41
|
-
const routes_1 = __importDefault(require("./routes"));
|
|
42
|
-
const log = (0, debug_1.default)('sockethub:services:http');
|
|
43
|
-
/**
|
|
44
|
-
* Handles the initialization and access of service objects.
|
|
45
|
-
*
|
|
46
|
-
* - HTTP Server
|
|
47
|
-
* - Express (service resources and example routes)
|
|
48
|
-
* - Socket.io (bidirectional websocket communication)
|
|
49
|
-
*/
|
|
50
|
-
class Serve {
|
|
51
|
-
/**
|
|
52
|
-
* Starts the services needed for sockethub to operate. After this command completes,
|
|
53
|
-
* the `http` and `io` class properties will be set.
|
|
54
|
-
*/
|
|
55
|
-
start() {
|
|
56
|
-
// initialize express and socket.io objects
|
|
57
|
-
const app = Serve.initExpress();
|
|
58
|
-
this.http = new HTTP.Server(app);
|
|
59
|
-
this.io = new socket_io_1.Server(this.http, {
|
|
60
|
-
path: config_1.default.get('service:path'),
|
|
61
|
-
cors: {
|
|
62
|
-
origin: "*",
|
|
63
|
-
methods: ["GET", "POST"]
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
routes_1.default.setup(app);
|
|
67
|
-
this.startListener();
|
|
68
|
-
}
|
|
69
|
-
startListener() {
|
|
70
|
-
this.http.listen(config_1.default.get('service:port'), config_1.default.get('service:host'), () => {
|
|
71
|
-
log(`sockethub listening on ` +
|
|
72
|
-
`http://${config_1.default.get('service:host')}:${config_1.default.get('service:port')}`);
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
;
|
|
76
|
-
static initExpress() {
|
|
77
|
-
let app = (0, express_1.default)();
|
|
78
|
-
// templating engines
|
|
79
|
-
app.set('view engine', 'ejs');
|
|
80
|
-
// use bodyParser
|
|
81
|
-
app.use(body_parser_1.default.urlencoded({ extended: true }));
|
|
82
|
-
app.use(body_parser_1.default.json());
|
|
83
|
-
return app;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
const serve = new Serve();
|
|
87
|
-
function getSocket(sessionId) {
|
|
88
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
-
const sockets = yield serve.io.fetchSockets();
|
|
90
|
-
return new Promise((resolve, reject) => {
|
|
91
|
-
for (let socket of sockets) {
|
|
92
|
-
if (sessionId === socket.id) {
|
|
93
|
-
return resolve(socket);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return reject(`unable to find socket for sessionId ${sessionId}`);
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
exports.getSocket = getSocket;
|
|
101
|
-
exports.default = serve;
|
|
102
|
-
//# sourceMappingURL=/serve.js.map
|
package/dist/serve.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"/","sources":["serve.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,8DAAqC;AACrC,sDAA8B;AAC9B,2CAA6B;AAC7B,yCAAmC;AAEnC,sDAA8B;AAC9B,sDAA8B;AAE9B,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,yBAAyB,CAAC,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,KAAK;IAIT;;;OAGG;IACH,KAAK;QACH,2CAA2C;QAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,GAAG,IAAI,kBAAM,CAAC,IAAI,CAAC,IAAI,EAAE;YAC9B,IAAI,EAAE,gBAAM,CAAC,GAAG,CAAC,cAAc,CAAC;YAChC,IAAI,EAAE;gBACJ,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAE,KAAK,EAAE,MAAM,CAAE;aAC3B;SACF,CAAC,CAAC;QACH,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,gBAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE;YAC5E,GAAG,CAAC,yBAAyB;gBAC3B,UAAU,gBAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,gBAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;IAEM,MAAM,CAAC,WAAW;QACxB,IAAI,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;QACpB,qBAAqB;QACrB,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC9B,iBAAiB;QACjB,GAAG,CAAC,GAAG,CAAC,qBAAU,CAAC,UAAU,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QACjD,GAAG,CAAC,GAAG,CAAC,qBAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;AAO1B,SAAsB,SAAS,CAAC,SAAiB;;QAC/C,MAAM,OAAO,GAA0B,MAAM,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;QACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;gBAC1B,IAAI,SAAS,KAAK,MAAM,CAAC,EAAE,EAAE;oBAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;iBACxB;aACF;YACD,OAAO,MAAM,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AAVD,8BAUC;AAED,kBAAe,KAAK,CAAC"}
|