@scrypted/server 0.101.4 → 0.103.0
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/dist/fetch/http-fetch.js +10 -10
- package/dist/fetch/http-fetch.js.map +1 -1
- package/dist/fetch/index.d.ts +12 -2
- package/dist/fetch/index.js +52 -6
- package/dist/fetch/index.js.map +1 -1
- package/dist/plugin/runtime/python-worker.js +1 -2
- package/dist/plugin/runtime/python-worker.js.map +1 -1
- package/dist/services/plugin.d.ts +2 -0
- package/dist/services/plugin.js +11 -1
- package/dist/services/plugin.js.map +1 -1
- package/package.json +1 -1
- package/src/fetch/http-fetch.ts +13 -13
- package/src/fetch/index.ts +56 -9
- package/src/plugin/runtime/python-worker.ts +1 -2
- package/src/services/plugin.ts +12 -1
package/dist/fetch/http-fetch.js
CHANGED
@@ -46,7 +46,7 @@ function httpFetchParseIncomingMessage(readable, responseType) {
|
|
46
46
|
}
|
47
47
|
exports.httpFetchParseIncomingMessage = httpFetchParseIncomingMessage;
|
48
48
|
async function httpFetch(options) {
|
49
|
-
const headers =
|
49
|
+
const headers = (0, _1.createHeadersArray)(options.headers);
|
50
50
|
(0, _1.setDefaultHttpFetchAccept)(headers, options.responseType);
|
51
51
|
const { once } = require('events');
|
52
52
|
const { PassThrough, Readable } = require('stream');
|
@@ -61,15 +61,6 @@ async function httpFetch(options) {
|
|
61
61
|
newBody.end();
|
62
62
|
body = newBody;
|
63
63
|
}
|
64
|
-
const nodeHeaders = {};
|
65
|
-
for (const [k, v] of headers) {
|
66
|
-
if (nodeHeaders[k]) {
|
67
|
-
nodeHeaders[k].push(v);
|
68
|
-
}
|
69
|
-
else {
|
70
|
-
nodeHeaders[k] = [v];
|
71
|
-
}
|
72
|
-
}
|
73
64
|
let controller;
|
74
65
|
let timeout;
|
75
66
|
if (options.timeout) {
|
@@ -79,6 +70,15 @@ async function httpFetch(options) {
|
|
79
70
|
}
|
80
71
|
const signal = controller?.signal || options.signal;
|
81
72
|
signal?.addEventListener('abort', () => request.destroy(new Error('abort')));
|
73
|
+
const nodeHeaders = {};
|
74
|
+
for (const [k, v] of headers) {
|
75
|
+
if (nodeHeaders[k]) {
|
76
|
+
nodeHeaders[k].push(v);
|
77
|
+
}
|
78
|
+
else {
|
79
|
+
nodeHeaders[k] = [v];
|
80
|
+
}
|
81
|
+
}
|
82
82
|
const request = proto.request(url, {
|
83
83
|
method: (0, _1.getFetchMethod)(options),
|
84
84
|
rejectUnauthorized: options.rejectUnauthorized,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http-fetch.js","sourceRoot":"","sources":["../../src/fetch/http-fetch.ts"],"names":[],"mappings":";;;AAKA,
|
1
|
+
{"version":3,"file":"http-fetch.js","sourceRoot":"","sources":["../../src/fetch/http-fetch.ts"],"names":[],"mappings":";;;AAKA,wBAAmR;AAGnR,KAAK,UAAU,iBAAiB,CAAC,QAAyB;IACtD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAkB,CAAC;IACpD,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAMD,MAAM,UAAU,GAAwB;IACpC,KAAK,CAAC,KAAK,CAAC,OAAwB;QAChC,OAAO,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzD,CAAC;CACJ,CAAA;AACD,MAAM,UAAU,GAAqB;IACjC,KAAK,CAAC,KAAK,CAAC,OAAwB;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;CACJ,CAAA;AAED,MAAM,YAAY,GAAwB;IACtC,KAAK,CAAC,KAAK,CAAC,OAAwB;QAChC,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACJ,CAAA;AAED,MAAM,YAAY,GAAiC;IAC/C,KAAK,CAAC,KAAK,CAAC,OAAwB;QAChC,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ,CAAA;AAED,SAAgB,kBAAkB,CAAC,YAAmC;IAClE,QAAQ,YAAY,EAAE,CAAC;QACnB,KAAK,MAAM;YACP,OAAO,UAAU,CAAC;QACtB,KAAK,MAAM;YACP,OAAO,UAAU,CAAC;QACtB,KAAK,UAAU;YACX,OAAO,YAAY,CAAC;IAC5B,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC;AAVD,gDAUC;AAED,SAAgB,6BAA6B,CAAC,QAAyB,EAAE,YAAmC;IACxG,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAFD,sEAEC;AAEM,KAAK,UAAU,SAAS,CAAuC,OAAU;IAO5E,MAAM,OAAO,GAAG,IAAA,qBAAkB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,IAAA,4BAAyB,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAkB,CAAC;IACpD,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAkB,CAAC;IACrE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAA2B,CAAC;IAE9E,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtC,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACvB,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAwB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,UAA2B,CAAC;IAChC,IAAI,OAAuB,CAAC;IAC5B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAEhE,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IACpD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7E,MAAM,WAAW,GAA6B,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;aACI,CAAC;YACF,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,EAAE,IAAA,iBAAc,EAAC,OAAO,CAAC;QAC/B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,WAAW;QACpB,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC,CAAC;IAEH,IAAI,IAAI;QACJ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;QAEnB,OAAO,CAAC,GAAG,EAAE,CAAC;IAElB,IAAI,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,UAAU,CAAsB,CAAC;QAExE,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,IAAA,cAAW,EAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,iBAAiB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,CAAC;YACZ,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,KAAK,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACjC,CAAC;QACL,CAAC;QAED,OAAO;YACH,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,MAAM,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC;SAC5E,CAAC;IACN,CAAC;YACO,CAAC;QACL,YAAY,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACL,CAAC;AA3FD,8BA2FC;AAED,SAAS,UAAU,CAAI,CAAI;AAC3B,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;QACtB,GAAG,EAAE,oBAAoB;KAC5B,CAAC,CAAC;IAEH,UAAU,CAAS,CAAC,CAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;QACtB,GAAG,EAAE,oBAAoB;QACzB,YAAY,EAAE,MAAM;KACvB,CAAC,CAAC;IACH,UAAU,CAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;QACtB,GAAG,EAAE,oBAAoB;QACzB,YAAY,EAAE,UAAU;KAC3B,CAAC,CAAC;IACH,UAAU,CAAkB,CAAC,CAAC,IAAI,CAAC,CAAC;IAEpC,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;QACtB,GAAG,EAAE,oBAAoB;QACzB,YAAY,EAAE,QAAQ;KACzB,CAAC,CAAC;IACH,UAAU,CAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC"}
|
package/dist/fetch/index.d.ts
CHANGED
@@ -38,7 +38,17 @@ export interface HttpFetchResponse<T> {
|
|
38
38
|
}
|
39
39
|
export type fetcher<B, M> = <T extends HttpFetchOptions<B>>(options: T) => Promise<HttpFetchResponse<T extends HttpFetchBufferOptions<B> ? Buffer : T extends HttpFetchTextOptions<B> ? string : T extends HttpFetchReadableOptions<B> ? M : T extends HttpFetchJsonOptions<B> ? any : Buffer>>;
|
40
40
|
export declare function getHttpFetchAccept(responseType: HttpFetchResponseType): "application/json" | "text/plain";
|
41
|
-
export declare function
|
42
|
-
export declare function
|
41
|
+
export declare function hasHeader(headers: [string, string][], key: string): [string, string];
|
42
|
+
export declare function removeHeader(headers: [string, string][], key: string): void;
|
43
|
+
export declare function setHeader(headers: [string, string][], key: string, value: string): void;
|
44
|
+
export declare function setDefaultHttpFetchAccept(headers: [string, string][], responseType: HttpFetchResponseType): void;
|
45
|
+
export declare function createHeadersArray(headers: HeadersInit): [string, string][];
|
46
|
+
/**
|
47
|
+
*
|
48
|
+
* @param headers
|
49
|
+
* @param body
|
50
|
+
* @returns Returns the body and Content-Type header that was set.
|
51
|
+
*/
|
52
|
+
export declare function createStringOrBufferBody(headers: [string, string][], body: any): any;
|
43
53
|
export declare function domFetchParseIncomingMessage(response: Response, responseType: HttpFetchResponseType): Promise<any>;
|
44
54
|
export declare function domFetch<T extends HttpFetchOptions<BodyInit>>(options: T): Promise<HttpFetchResponse<T extends HttpFetchBufferOptions<BodyInit> ? Buffer : T extends HttpFetchTextOptions<BodyInit> ? string : T extends HttpFetchReadableOptions<BodyInit> ? Response : T extends HttpFetchJsonOptions<BodyInit> ? any : Buffer>>;
|
package/dist/fetch/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.domFetch = exports.domFetchParseIncomingMessage = exports.createStringOrBufferBody = exports.setDefaultHttpFetchAccept = exports.getHttpFetchAccept = exports.getFetchMethod = exports.checkStatus = exports.fetchStatusCodeOk = void 0;
|
3
|
+
exports.domFetch = exports.domFetchParseIncomingMessage = exports.createStringOrBufferBody = exports.createHeadersArray = exports.setDefaultHttpFetchAccept = exports.setHeader = exports.removeHeader = exports.hasHeader = exports.getHttpFetchAccept = exports.getFetchMethod = exports.checkStatus = exports.fetchStatusCodeOk = void 0;
|
4
4
|
function fetchStatusCodeOk(statusCode) {
|
5
5
|
return statusCode >= 200 && statusCode <= 299;
|
6
6
|
}
|
@@ -25,14 +25,60 @@ function getHttpFetchAccept(responseType) {
|
|
25
25
|
return;
|
26
26
|
}
|
27
27
|
exports.getHttpFetchAccept = getHttpFetchAccept;
|
28
|
+
function hasHeader(headers, key) {
|
29
|
+
key = key.toLowerCase();
|
30
|
+
return headers.find(([k]) => k.toLowerCase() === key);
|
31
|
+
}
|
32
|
+
exports.hasHeader = hasHeader;
|
33
|
+
function removeHeader(headers, key) {
|
34
|
+
key = key.toLowerCase();
|
35
|
+
const filteredHeaders = headers.filter(([headerKey, _]) => headerKey.toLowerCase() !== key);
|
36
|
+
headers.length = 0;
|
37
|
+
filteredHeaders.forEach(header => headers.push(header));
|
38
|
+
}
|
39
|
+
exports.removeHeader = removeHeader;
|
40
|
+
function setHeader(headers, key, value) {
|
41
|
+
removeHeader(headers, key);
|
42
|
+
headers.push([key, value]);
|
43
|
+
}
|
44
|
+
exports.setHeader = setHeader;
|
28
45
|
function setDefaultHttpFetchAccept(headers, responseType) {
|
29
|
-
if (headers
|
46
|
+
if (hasHeader(headers, 'Accept'))
|
30
47
|
return;
|
31
48
|
const accept = getHttpFetchAccept(responseType);
|
32
49
|
if (accept)
|
33
|
-
headers
|
50
|
+
setHeader(headers, 'Accept', accept);
|
34
51
|
}
|
35
52
|
exports.setDefaultHttpFetchAccept = setDefaultHttpFetchAccept;
|
53
|
+
function createHeadersArray(headers) {
|
54
|
+
const headersArray = [];
|
55
|
+
if (!headers)
|
56
|
+
return headersArray;
|
57
|
+
if (headers instanceof Headers) {
|
58
|
+
for (const [k, v] of headers.entries()) {
|
59
|
+
headersArray.push([k, v]);
|
60
|
+
}
|
61
|
+
return headersArray;
|
62
|
+
}
|
63
|
+
if (headers instanceof Array) {
|
64
|
+
for (const [k, v] of headers) {
|
65
|
+
headersArray.push([k, v]);
|
66
|
+
}
|
67
|
+
return headersArray;
|
68
|
+
}
|
69
|
+
for (const k of Object.keys(headers)) {
|
70
|
+
const v = headers[k];
|
71
|
+
headersArray.push([k, v]);
|
72
|
+
}
|
73
|
+
return headersArray;
|
74
|
+
}
|
75
|
+
exports.createHeadersArray = createHeadersArray;
|
76
|
+
/**
|
77
|
+
*
|
78
|
+
* @param headers
|
79
|
+
* @param body
|
80
|
+
* @returns Returns the body and Content-Type header that was set.
|
81
|
+
*/
|
36
82
|
function createStringOrBufferBody(headers, body) {
|
37
83
|
let contentType;
|
38
84
|
if (typeof body === 'object') {
|
@@ -42,8 +88,8 @@ function createStringOrBufferBody(headers, body) {
|
|
42
88
|
else if (typeof body === 'string') {
|
43
89
|
contentType = 'text/plain';
|
44
90
|
}
|
45
|
-
if (!headers
|
46
|
-
headers
|
91
|
+
if (!hasHeader(headers, 'Content-Type'))
|
92
|
+
setHeader(headers, 'Content-Type', contentType);
|
47
93
|
return body;
|
48
94
|
}
|
49
95
|
exports.createStringOrBufferBody = createStringOrBufferBody;
|
@@ -60,7 +106,7 @@ async function domFetchParseIncomingMessage(response, responseType) {
|
|
60
106
|
}
|
61
107
|
exports.domFetchParseIncomingMessage = domFetchParseIncomingMessage;
|
62
108
|
async function domFetch(options) {
|
63
|
-
const headers =
|
109
|
+
const headers = createHeadersArray(options.headers);
|
64
110
|
setDefaultHttpFetchAccept(headers, options.responseType);
|
65
111
|
let { body } = options;
|
66
112
|
if (body && !(body instanceof ReadableStream)) {
|
package/dist/fetch/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":";;;AAmCA,SAAgB,iBAAiB,CAAC,UAAkB;IAChD,OAAO,UAAU,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,CAAC;AAClD,CAAC;AAFD,8CAEC;AAED,SAAgB,WAAW,CAAC,UAAkB;IAC1C,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;AAClE,CAAC;AAHD,kCAGC;AAED,SAAgB,cAAc,CAAC,OAA8B;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC;AAClB,CAAC;AAHD,wCAGC;AAiBD,SAAgB,kBAAkB,CAAC,YAAmC;IAClE,QAAQ,YAAY,EAAE,CAAC;QACnB,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC;QAC9B,KAAK,MAAM;YACP,OAAO,YAAY,CAAC;IAC5B,CAAC;IACD,OAAO;AACX,CAAC;AARD,gDAQC;AAED,SAAgB,SAAS,CAAC,OAA2B,EAAE,GAAW;IAC9D,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC;AAC1D,CAAC;AAHD,8BAGC;AAED,SAAgB,YAAY,CAAC,OAA2B,EAAE,GAAW;IACjE,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACxB,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC;IAC5F,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACnB,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5D,CAAC;AALD,oCAKC;AAED,SAAgB,SAAS,CAAC,OAA2B,EAAE,GAAW,EAAE,KAAa;IAC7E,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/B,CAAC;AAHD,8BAGC;AAED,SAAgB,yBAAyB,CAAC,OAA2B,EAAE,YAAmC;IACtG,IAAI,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC5B,OAAO;IACX,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,MAAM;QACN,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAND,8DAMC;AAED,SAAgB,kBAAkB,CAAC,OAAoB;IACnD,MAAM,YAAY,GAAuB,EAAE,CAAC;IAC5C,IAAI,CAAC,OAAO;QACR,OAAO,YAAY,CAAC;IACxB,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACrC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAxBD,gDAwBC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,OAA2B,EAAE,IAAS;IAC3E,IAAI,WAAmB,CAAC;IACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,WAAW,GAAG,kBAAkB,CAAC;IACrC,CAAC;SACI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChC,WAAW,GAAG,YAAY,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;QACnC,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC;AAChB,CAAC;AAbD,4DAaC;AAEM,KAAK,UAAU,4BAA4B,CAAC,QAAkB,EAAE,YAAmC;IACtG,QAAQ,YAAY,EAAE,CAAC;QACnB,KAAK,MAAM;YACP,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,MAAM;YACP,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,UAAU;YACX,OAAO,QAAQ,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACxD,CAAC;AAVD,oEAUC;AAEM,KAAK,UAAU,QAAQ,CAAuC,OAAU;IAO3E,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzD,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACvB,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,cAAc,CAAC,EAAE,CAAC;QAC5C,IAAI,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,UAA2B,CAAC;IAChC,IAAI,OAAuB,CAAC;IAC5B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAEhE,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC5D,OAAO;YACP,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM;YAC5C,IAAI;SACP,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,CAAC;YACZ,CAAC;QACL,CAAC;QAED,OAAO;YACH,UAAU,EAAE,QAAQ,CAAC,MAAM;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,MAAM,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC;SAC3E,CAAC;IACN,CAAC;YACO,CAAC;QACL,YAAY,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACL,CAAC;AArDD,4BAqDC;AAED,SAAS,UAAU,CAAI,CAAI;AAC3B,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC;QACrB,GAAG,EAAE,oBAAoB;KAC5B,CAAC,CAAC;IAEH,UAAU,CAAS,CAAC,CAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC;QACrB,GAAG,EAAE,oBAAoB;QACzB,YAAY,EAAE,MAAM;KACvB,CAAC,CAAC;IACH,UAAU,CAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC;QACrB,GAAG,EAAE,oBAAoB;QACzB,YAAY,EAAE,UAAU;KAC3B,CAAC,CAAC;IACH,UAAU,CAAW,CAAC,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC;QACrB,GAAG,EAAE,oBAAoB;QACzB,YAAY,EAAE,QAAQ;KACzB,CAAC,CAAC;IACH,UAAU,CAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC"}
|
@@ -92,6 +92,7 @@ class PythonRuntimeWorker extends child_process_worker_1.ChildProcessWorker {
|
|
92
92
|
PYTHONPATH,
|
93
93
|
}, gstEnv, process.env, env),
|
94
94
|
});
|
95
|
+
this.setupWorker();
|
95
96
|
this.worker.stdout.pipe(this.stdout);
|
96
97
|
this.worker.stderr.pipe(this.stderr);
|
97
98
|
};
|
@@ -103,7 +104,6 @@ class PythonRuntimeWorker extends child_process_worker_1.ChildProcessWorker {
|
|
103
104
|
setup();
|
104
105
|
this.peerin = this.worker.stdio[3];
|
105
106
|
this.peerout = this.worker.stdio[4];
|
106
|
-
this.setupWorker();
|
107
107
|
return;
|
108
108
|
}
|
109
109
|
const strippedPythonVersion = pluginPythonVersion.replace('.', '');
|
@@ -113,7 +113,6 @@ class PythonRuntimeWorker extends child_process_worker_1.ChildProcessWorker {
|
|
113
113
|
setup();
|
114
114
|
this.peerin = this.worker.stdio[3];
|
115
115
|
this.peerout = this.worker.stdio[4];
|
116
|
-
this.setupWorker();
|
117
116
|
return;
|
118
117
|
}
|
119
118
|
const peerin = this.peerin = new stream_1.PassThrough();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"python-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/python-worker.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"python-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/python-worker.ts"],"names":[],"mappings":"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"}
|
@@ -28,6 +28,7 @@ export declare class PluginComponent {
|
|
28
28
|
}>;
|
29
29
|
getPluginInfo(pluginId: string): Promise<{
|
30
30
|
pid: number;
|
31
|
+
clientsCount: number;
|
31
32
|
stats: {
|
32
33
|
cpuUsage: NodeJS.CpuUsage;
|
33
34
|
memoryUsage: NodeJS.MemoryUsage;
|
@@ -40,6 +41,7 @@ export declare class PluginComponent {
|
|
40
41
|
};
|
41
42
|
id: string;
|
42
43
|
}>;
|
44
|
+
disconnectClients(pluginId: string): Promise<void>;
|
43
45
|
installNpm(pkg: string, version?: string): Promise<void>;
|
44
46
|
npmInfo(endpoint: string): Promise<any>;
|
45
47
|
updatePlugins(): Promise<void>;
|
package/dist/services/plugin.js
CHANGED
@@ -7,10 +7,10 @@ exports.PluginComponent = exports.getNpmPackageInfo = void 0;
|
|
7
7
|
const types_1 = require("@scrypted/types");
|
8
8
|
const semver_1 = __importDefault(require("semver"));
|
9
9
|
const db_types_1 = require("../db-types");
|
10
|
+
const http_fetch_1 = require("../fetch/http-fetch");
|
10
11
|
const mixin_cycle_1 = require("../mixin/mixin-cycle");
|
11
12
|
const sleep_1 = require("../sleep");
|
12
13
|
const state_1 = require("../state");
|
13
|
-
const http_fetch_1 = require("../fetch/http-fetch");
|
14
14
|
async function getNpmPackageInfo(pkg) {
|
15
15
|
const { body } = await (0, http_fetch_1.httpFetch)({
|
16
16
|
url: `https://registry.npmjs.org/${pkg}`,
|
@@ -112,6 +112,7 @@ class PluginComponent {
|
|
112
112
|
}
|
113
113
|
return {
|
114
114
|
pid: host?.worker?.pid,
|
115
|
+
clientsCount: host?.io?.clientsCount,
|
115
116
|
stats: host?.stats,
|
116
117
|
rpcObjects,
|
117
118
|
packageJson,
|
@@ -120,6 +121,15 @@ class PluginComponent {
|
|
120
121
|
id: this.scrypted.findPluginDevice(pluginId)._id,
|
121
122
|
};
|
122
123
|
}
|
124
|
+
async disconnectClients(pluginId) {
|
125
|
+
const host = this.scrypted.plugins[pluginId];
|
126
|
+
if (!host)
|
127
|
+
return;
|
128
|
+
const { clients } = host.io;
|
129
|
+
for (const client of Object.values(clients)) {
|
130
|
+
client.close();
|
131
|
+
}
|
132
|
+
}
|
123
133
|
async installNpm(pkg, version) {
|
124
134
|
await this.scrypted.installNpm(pkg, version);
|
125
135
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA8E;AAC9E,oDAA4B;AAC5B,0CAAqC;AACrC,sDAAqD;AAErD,oCAAiC;AACjC,oCAAoC;
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/fetch/http-fetch.ts
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
import type events from 'events';
|
2
|
-
import type stream from 'stream';
|
3
2
|
import type followRedirects from 'follow-redirects';
|
4
3
|
import type { IncomingMessage } from 'http';
|
4
|
+
import type stream from 'stream';
|
5
5
|
import type { Readable } from 'stream';
|
6
|
-
import { HttpFetchBufferOptions, HttpFetchJsonOptions, HttpFetchOptions, HttpFetchReadableOptions, HttpFetchResponse, HttpFetchResponseType, HttpFetchTextOptions, checkStatus, createStringOrBufferBody, getFetchMethod, setDefaultHttpFetchAccept } from '.';
|
6
|
+
import { HttpFetchBufferOptions, HttpFetchJsonOptions, HttpFetchOptions, HttpFetchReadableOptions, HttpFetchResponse, HttpFetchResponseType, HttpFetchTextOptions, checkStatus, createHeadersArray, createStringOrBufferBody, getFetchMethod, setDefaultHttpFetchAccept } from '.';
|
7
7
|
export type { HttpFetchBufferOptions, HttpFetchJsonOptions, HttpFetchOptions, HttpFetchReadableOptions, HttpFetchResponse, HttpFetchResponseType, HttpFetchTextOptions, checkStatus, setDefaultHttpFetchAccept } from '.';
|
8
8
|
|
9
9
|
async function readMessageBuffer(response: IncomingMessage) {
|
@@ -64,7 +64,7 @@ export async function httpFetch<T extends HttpFetchOptions<Readable>>(options: T
|
|
64
64
|
: T extends HttpFetchReadableOptions<Readable> ? IncomingMessage
|
65
65
|
: T extends HttpFetchJsonOptions<Readable> ? any : Buffer
|
66
66
|
>> {
|
67
|
-
const headers =
|
67
|
+
const headers = createHeadersArray(options.headers);
|
68
68
|
setDefaultHttpFetchAccept(headers, options.responseType);
|
69
69
|
|
70
70
|
const { once } = require('events') as typeof events;
|
@@ -83,16 +83,6 @@ export async function httpFetch<T extends HttpFetchOptions<Readable>>(options: T
|
|
83
83
|
body = newBody;
|
84
84
|
}
|
85
85
|
|
86
|
-
const nodeHeaders: Record<string, string[]> = {};
|
87
|
-
for (const [k, v] of headers) {
|
88
|
-
if (nodeHeaders[k]) {
|
89
|
-
nodeHeaders[k].push(v);
|
90
|
-
}
|
91
|
-
else {
|
92
|
-
nodeHeaders[k] = [v];
|
93
|
-
}
|
94
|
-
}
|
95
|
-
|
96
86
|
let controller: AbortController;
|
97
87
|
let timeout: NodeJS.Timeout;
|
98
88
|
if (options.timeout) {
|
@@ -105,6 +95,16 @@ export async function httpFetch<T extends HttpFetchOptions<Readable>>(options: T
|
|
105
95
|
const signal = controller?.signal || options.signal;
|
106
96
|
signal?.addEventListener('abort', () => request.destroy(new Error('abort')));
|
107
97
|
|
98
|
+
const nodeHeaders: Record<string, string[]> = {};
|
99
|
+
for (const [k, v] of headers) {
|
100
|
+
if (nodeHeaders[k]) {
|
101
|
+
nodeHeaders[k].push(v);
|
102
|
+
}
|
103
|
+
else {
|
104
|
+
nodeHeaders[k] = [v];
|
105
|
+
}
|
106
|
+
}
|
107
|
+
|
108
108
|
const request = proto.request(url, {
|
109
109
|
method: getFetchMethod(options),
|
110
110
|
rejectUnauthorized: options.rejectUnauthorized,
|
package/src/fetch/index.ts
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
export type HttpFetchResponseType = 'json' | 'text' | 'buffer' | 'readable';
|
3
2
|
export interface HttpFetchOptionsBase<B> {
|
4
3
|
url: string | URL;
|
@@ -73,15 +72,64 @@ export function getHttpFetchAccept(responseType: HttpFetchResponseType) {
|
|
73
72
|
return;
|
74
73
|
}
|
75
74
|
|
76
|
-
export function
|
77
|
-
|
75
|
+
export function hasHeader(headers: [string, string][], key: string) {
|
76
|
+
key = key.toLowerCase();
|
77
|
+
return headers.find(([k]) => k.toLowerCase() === key);
|
78
|
+
}
|
79
|
+
|
80
|
+
export function removeHeader(headers: [string, string][], key: string) {
|
81
|
+
key = key.toLowerCase();
|
82
|
+
const filteredHeaders = headers.filter(([headerKey, _]) => headerKey.toLowerCase() !== key);
|
83
|
+
headers.length = 0;
|
84
|
+
filteredHeaders.forEach(header => headers.push(header));
|
85
|
+
}
|
86
|
+
|
87
|
+
export function setHeader(headers: [string, string][], key: string, value: string) {
|
88
|
+
removeHeader(headers, key);
|
89
|
+
headers.push([key, value]);
|
90
|
+
}
|
91
|
+
|
92
|
+
export function setDefaultHttpFetchAccept(headers: [string, string][], responseType: HttpFetchResponseType) {
|
93
|
+
if (hasHeader(headers, 'Accept'))
|
78
94
|
return;
|
79
95
|
const accept = getHttpFetchAccept(responseType);
|
80
96
|
if (accept)
|
81
|
-
headers
|
97
|
+
setHeader(headers, 'Accept', accept);
|
98
|
+
}
|
99
|
+
|
100
|
+
export function createHeadersArray(headers: HeadersInit): [string, string][] {
|
101
|
+
const headersArray: [string, string][] = [];
|
102
|
+
if (!headers)
|
103
|
+
return headersArray;
|
104
|
+
if (headers instanceof Headers) {
|
105
|
+
for (const [k, v] of headers.entries()) {
|
106
|
+
headersArray.push([k, v]);
|
107
|
+
}
|
108
|
+
return headersArray;
|
109
|
+
}
|
110
|
+
|
111
|
+
if (headers instanceof Array) {
|
112
|
+
for (const [k, v] of headers) {
|
113
|
+
headersArray.push([k, v]);
|
114
|
+
}
|
115
|
+
return headersArray;
|
116
|
+
}
|
117
|
+
|
118
|
+
for (const k of Object.keys(headers)) {
|
119
|
+
const v = headers[k];
|
120
|
+
headersArray.push([k, v]);
|
121
|
+
}
|
122
|
+
|
123
|
+
return headersArray;
|
82
124
|
}
|
83
125
|
|
84
|
-
|
126
|
+
/**
|
127
|
+
*
|
128
|
+
* @param headers
|
129
|
+
* @param body
|
130
|
+
* @returns Returns the body and Content-Type header that was set.
|
131
|
+
*/
|
132
|
+
export function createStringOrBufferBody(headers: [string, string][], body: any) {
|
85
133
|
let contentType: string;
|
86
134
|
if (typeof body === 'object') {
|
87
135
|
body = JSON.stringify(body);
|
@@ -91,9 +139,8 @@ export function createStringOrBufferBody(headers: Headers, body: any) {
|
|
91
139
|
contentType = 'text/plain';
|
92
140
|
}
|
93
141
|
|
94
|
-
if (!headers
|
95
|
-
headers
|
96
|
-
|
142
|
+
if (!hasHeader(headers, 'Content-Type'))
|
143
|
+
setHeader(headers, 'Content-Type', contentType);
|
97
144
|
return body;
|
98
145
|
}
|
99
146
|
|
@@ -116,7 +163,7 @@ export async function domFetch<T extends HttpFetchOptions<BodyInit>>(options: T)
|
|
116
163
|
: T extends HttpFetchReadableOptions<BodyInit> ? Response
|
117
164
|
: T extends HttpFetchJsonOptions<BodyInit> ? any : Buffer
|
118
165
|
>> {
|
119
|
-
const headers =
|
166
|
+
const headers = createHeadersArray(options.headers);
|
120
167
|
setDefaultHttpFetchAccept(headers, options.responseType);
|
121
168
|
|
122
169
|
let { body } = options;
|
@@ -110,6 +110,7 @@ export class PythonRuntimeWorker extends ChildProcessWorker {
|
|
110
110
|
PYTHONPATH,
|
111
111
|
}, gstEnv, process.env, env),
|
112
112
|
});
|
113
|
+
this.setupWorker();
|
113
114
|
|
114
115
|
this.worker.stdout.pipe(this.stdout);
|
115
116
|
this.worker.stderr.pipe(this.stderr);
|
@@ -124,7 +125,6 @@ export class PythonRuntimeWorker extends ChildProcessWorker {
|
|
124
125
|
setup();
|
125
126
|
this.peerin = this.worker.stdio[3] as Writable;
|
126
127
|
this.peerout = this.worker.stdio[4] as Readable;
|
127
|
-
this.setupWorker();
|
128
128
|
return;
|
129
129
|
}
|
130
130
|
|
@@ -135,7 +135,6 @@ export class PythonRuntimeWorker extends ChildProcessWorker {
|
|
135
135
|
setup();
|
136
136
|
this.peerin = this.worker.stdio[3] as Writable;
|
137
137
|
this.peerout = this.worker.stdio[4] as Readable;
|
138
|
-
this.setupWorker();
|
139
138
|
return;
|
140
139
|
}
|
141
140
|
|
package/src/services/plugin.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
import { ScryptedInterfaceProperty, ScryptedNativeId } from "@scrypted/types";
|
2
2
|
import semver from 'semver';
|
3
3
|
import { Plugin } from '../db-types';
|
4
|
+
import { httpFetch } from "../fetch/http-fetch";
|
4
5
|
import { hasMixinCycle } from "../mixin/mixin-cycle";
|
5
6
|
import { ScryptedRuntime } from "../runtime";
|
6
7
|
import { sleep } from "../sleep";
|
7
8
|
import { getState } from "../state";
|
8
|
-
import { httpFetch } from "../fetch/http-fetch";
|
9
9
|
|
10
10
|
|
11
11
|
export async function getNpmPackageInfo(pkg: string) {
|
@@ -114,6 +114,7 @@ export class PluginComponent {
|
|
114
114
|
}
|
115
115
|
return {
|
116
116
|
pid: host?.worker?.pid,
|
117
|
+
clientsCount: host?.io?.clientsCount,
|
117
118
|
stats: host?.stats,
|
118
119
|
rpcObjects,
|
119
120
|
packageJson,
|
@@ -123,6 +124,16 @@ export class PluginComponent {
|
|
123
124
|
}
|
124
125
|
}
|
125
126
|
|
127
|
+
async disconnectClients(pluginId: string) {
|
128
|
+
const host = this.scrypted.plugins[pluginId];
|
129
|
+
if (!host)
|
130
|
+
return;
|
131
|
+
const { clients } = host.io as any;
|
132
|
+
for (const client of Object.values(clients)) {
|
133
|
+
(client as any).close()
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
126
137
|
async installNpm(pkg: string, version?: string) {
|
127
138
|
await this.scrypted.installNpm(pkg, version);
|
128
139
|
}
|