@eclipse-glsp/server 1.1.0-RC06 → 1.1.0-next.146ae06.49
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/lib/browser/di/app-module.d.ts +2 -7
- package/lib/browser/di/app-module.d.ts.map +1 -1
- package/lib/browser/di/app-module.js +5 -30
- package/lib/browser/di/app-module.js.map +1 -1
- package/lib/browser/index.d.ts +0 -1
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +0 -1
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/launch/worker-server-launcher.d.ts +4 -4
- package/lib/browser/launch/worker-server-launcher.d.ts.map +1 -1
- package/lib/browser/launch/worker-server-launcher.js +5 -11
- package/lib/browser/launch/worker-server-launcher.js.map +1 -1
- package/lib/common/actions/client-action-handler.d.ts +1 -2
- package/lib/common/actions/client-action-handler.d.ts.map +1 -1
- package/lib/common/actions/client-action-handler.js +17 -2
- package/lib/common/actions/client-action-handler.js.map +1 -1
- package/lib/common/command/command-stack.d.ts +16 -1
- package/lib/common/command/command-stack.d.ts.map +1 -1
- package/lib/common/command/command-stack.js +0 -15
- package/lib/common/command/command-stack.js.map +1 -1
- package/lib/common/di/client-session-module.d.ts +1 -1
- package/lib/common/di/client-session-module.d.ts.map +1 -1
- package/lib/common/di/client-session-module.js +2 -2
- package/lib/common/di/client-session-module.js.map +1 -1
- package/lib/common/di/glsp-module.d.ts +3 -1
- package/lib/common/di/glsp-module.d.ts.map +1 -1
- package/lib/common/di/glsp-module.js +0 -15
- package/lib/common/di/glsp-module.js.map +1 -1
- package/lib/common/di/multi-binding.d.ts +19 -4
- package/lib/common/di/multi-binding.d.ts.map +1 -1
- package/lib/common/di/multi-binding.js.map +1 -1
- package/lib/common/di/server-module.d.ts +1 -6
- package/lib/common/di/server-module.d.ts.map +1 -1
- package/lib/common/di/server-module.js +21 -17
- package/lib/common/di/server-module.js.map +1 -1
- package/lib/common/features/model/model-submission-handler.d.ts +2 -0
- package/lib/common/features/model/model-submission-handler.d.ts.map +1 -1
- package/lib/common/features/model/model-submission-handler.js +10 -0
- package/lib/common/features/model/model-submission-handler.js.map +1 -1
- package/lib/common/features/validation/model-validator.d.ts +47 -2
- package/lib/common/features/validation/model-validator.d.ts.map +1 -1
- package/lib/common/features/validation/model-validator.js +80 -1
- package/lib/common/features/validation/model-validator.js.map +1 -1
- package/lib/common/features/validation/request-markers-handler.d.ts +15 -0
- package/lib/common/features/validation/request-markers-handler.d.ts.map +1 -1
- package/lib/common/features/validation/request-markers-handler.js +3 -9
- package/lib/common/features/validation/request-markers-handler.js.map +1 -1
- package/lib/common/index.d.ts +1 -2
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +1 -2
- package/lib/common/index.js.map +1 -1
- package/lib/common/launch/glsp-server-launcher.d.ts +1 -1
- package/lib/common/launch/glsp-server-launcher.d.ts.map +1 -1
- package/lib/common/launch/glsp-server-launcher.js +2 -2
- package/lib/common/launch/glsp-server-launcher.js.map +1 -1
- package/lib/common/launch/jsonrpc-server-launcher.d.ts +38 -0
- package/lib/common/launch/jsonrpc-server-launcher.d.ts.map +1 -0
- package/lib/common/launch/jsonrpc-server-launcher.js +84 -0
- package/lib/common/launch/jsonrpc-server-launcher.js.map +1 -0
- package/lib/common/protocol/glsp-server.d.ts +4 -104
- package/lib/common/protocol/glsp-server.d.ts.map +1 -1
- package/lib/common/protocol/glsp-server.js +13 -20
- package/lib/common/protocol/glsp-server.js.map +1 -1
- package/lib/common/protocol/glsp-server.spec.js +18 -5
- package/lib/common/protocol/glsp-server.spec.js.map +1 -1
- package/lib/common/session/client-session-factory.d.ts +1 -2
- package/lib/common/session/client-session-factory.d.ts.map +1 -1
- package/lib/common/session/client-session-factory.js +17 -2
- package/lib/common/session/client-session-factory.js.map +1 -1
- package/lib/common/session/client-session-factory.spec.js +2 -2
- package/lib/common/session/client-session-factory.spec.js.map +1 -1
- package/lib/common/session/client-session-manager.d.ts +1 -3
- package/lib/common/session/client-session-manager.d.ts.map +1 -1
- package/lib/common/session/client-session-manager.js.map +1 -1
- package/lib/common/test/mock-util.d.ts +3 -6
- package/lib/common/test/mock-util.d.ts.map +1 -1
- package/lib/common/test/mock-util.js.map +1 -1
- package/lib/{browser/di → common/utils}/console-logger.d.ts +8 -2
- package/lib/common/utils/console-logger.d.ts.map +1 -0
- package/lib/{browser/di → common/utils}/console-logger.js +27 -9
- package/lib/common/utils/console-logger.js.map +1 -0
- package/lib/common/utils/logger.d.ts +21 -0
- package/lib/common/utils/logger.d.ts.map +1 -1
- package/lib/common/utils/logger.js +12 -1
- package/lib/common/utils/logger.js.map +1 -1
- package/lib/node/di/app-module.d.ts +2 -2
- package/lib/node/di/app-module.d.ts.map +1 -1
- package/lib/node/di/app-module.js +10 -35
- package/lib/node/di/app-module.js.map +1 -1
- package/lib/node/launch/cli-parser.d.ts +2 -3
- package/lib/node/launch/cli-parser.d.ts.map +1 -1
- package/lib/node/launch/cli-parser.js.map +1 -1
- package/lib/node/launch/socket-cli-parser.js +1 -1
- package/lib/node/launch/socket-cli-parser.js.map +1 -1
- package/lib/node/launch/socket-server-launcher.d.ts +2 -23
- package/lib/node/launch/socket-server-launcher.d.ts.map +1 -1
- package/lib/node/launch/socket-server-launcher.js +8 -28
- package/lib/node/launch/socket-server-launcher.js.map +1 -1
- package/lib/node/launch/socket-server-launcher.spec.js +5 -0
- package/lib/node/launch/socket-server-launcher.spec.js.map +1 -1
- package/lib/node/launch/websocket-server-launcher.d.ts +2 -8
- package/lib/node/launch/websocket-server-launcher.d.ts.map +1 -1
- package/lib/node/launch/websocket-server-launcher.js +4 -28
- package/lib/node/launch/websocket-server-launcher.js.map +1 -1
- package/package.json +4 -4
- package/src/browser/di/app-module.ts +4 -32
- package/src/browser/index.ts +0 -1
- package/src/browser/launch/worker-server-launcher.ts +7 -13
- package/src/common/actions/client-action-handler.ts +1 -2
- package/src/common/command/command-stack.ts +1 -1
- package/src/common/di/client-session-module.ts +1 -1
- package/src/common/di/glsp-module.ts +3 -1
- package/src/common/di/multi-binding.ts +4 -5
- package/src/common/di/server-module.ts +6 -21
- package/src/common/features/model/model-submission-handler.ts +12 -0
- package/src/common/features/validation/model-validator.ts +75 -3
- package/src/common/features/validation/request-markers-handler.ts +4 -10
- package/src/common/index.ts +1 -2
- package/src/common/launch/glsp-server-launcher.ts +2 -2
- package/src/common/launch/jsonrpc-server-launcher.ts +95 -0
- package/src/common/protocol/glsp-server.spec.ts +7 -4
- package/src/common/protocol/glsp-server.ts +17 -132
- package/src/common/session/client-session-factory.spec.ts +1 -1
- package/src/common/session/client-session-factory.ts +1 -2
- package/src/common/session/client-session-manager.ts +1 -3
- package/src/common/test/mock-util.ts +5 -5
- package/src/{browser/di → common/utils}/console-logger.ts +20 -2
- package/src/common/utils/logger.ts +16 -1
- package/src/node/di/app-module.ts +4 -13
- package/src/node/launch/cli-parser.ts +2 -3
- package/src/node/launch/socket-cli-parser.ts +1 -1
- package/src/node/launch/socket-server-launcher.spec.ts +6 -0
- package/src/node/launch/socket-server-launcher.ts +8 -30
- package/src/node/launch/websocket-server-launcher.ts +5 -31
- package/lib/browser/di/console-logger.d.ts.map +0 -1
- package/lib/browser/di/console-logger.js.map +0 -1
- package/lib/common/protocol/glsp-client-proxy.d.ts +0 -45
- package/lib/common/protocol/glsp-client-proxy.d.ts.map +0 -1
- package/lib/common/protocol/glsp-client-proxy.js +0 -53
- package/lib/common/protocol/glsp-client-proxy.js.map +0 -1
- package/lib/common/protocol/glsp-server-listener.d.ts +0 -37
- package/lib/common/protocol/glsp-server-listener.d.ts.map +0 -1
- package/lib/common/protocol/glsp-server-listener.js +0 -5
- package/lib/common/protocol/glsp-server-listener.js.map +0 -1
- package/src/common/protocol/glsp-client-proxy.ts +0 -65
- package/src/common/protocol/glsp-server-listener.ts +0 -39
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/********************************************************************************
|
|
3
|
-
* Copyright (c)
|
|
3
|
+
* Copyright (c) 2023 EclipseSource and others.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials are made available under the
|
|
6
6
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -24,32 +24,36 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
24
24
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
25
|
};
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.ConsoleLogger = void 0;
|
|
27
|
+
exports.configureConsoleLogger = exports.ConsoleLogger = void 0;
|
|
28
28
|
const inversify_1 = require("inversify");
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
const logger_1 = require("./logger");
|
|
30
|
+
/**
|
|
31
|
+
* Simple logger implementation that forwards logging calls to the `console` and
|
|
32
|
+
* can be used in both the browser and node context.
|
|
33
|
+
*/
|
|
34
|
+
let ConsoleLogger = class ConsoleLogger extends logger_1.Logger {
|
|
35
|
+
constructor(logLevel = logger_1.LogLevel.none, caller) {
|
|
32
36
|
super();
|
|
33
37
|
this.logLevel = logLevel;
|
|
34
38
|
this.caller = caller;
|
|
35
39
|
}
|
|
36
40
|
info(message, ...params) {
|
|
37
|
-
if (
|
|
41
|
+
if (logger_1.LogLevel.info <= this.logLevel) {
|
|
38
42
|
console.info(this.logMessage(message, params));
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
45
|
warn(message, ...params) {
|
|
42
|
-
if (
|
|
46
|
+
if (logger_1.LogLevel.warn <= this.logLevel) {
|
|
43
47
|
console.warn(this.logMessage(message, params));
|
|
44
48
|
}
|
|
45
49
|
}
|
|
46
50
|
error(message, ...params) {
|
|
47
|
-
if (
|
|
51
|
+
if (logger_1.LogLevel.error <= this.logLevel) {
|
|
48
52
|
console.error(this.logMessage(message, params));
|
|
49
53
|
}
|
|
50
54
|
}
|
|
51
55
|
debug(message, ...params) {
|
|
52
|
-
if (
|
|
56
|
+
if (logger_1.LogLevel.debug <= this.logLevel) {
|
|
53
57
|
console.debug(this.logMessage(message, params));
|
|
54
58
|
}
|
|
55
59
|
}
|
|
@@ -78,4 +82,18 @@ ConsoleLogger = __decorate([
|
|
|
78
82
|
__metadata("design:paramtypes", [Number, String])
|
|
79
83
|
], ConsoleLogger);
|
|
80
84
|
exports.ConsoleLogger = ConsoleLogger;
|
|
85
|
+
function configureConsoleLogger(context, options) {
|
|
86
|
+
if (!options.consoleLog) {
|
|
87
|
+
context.bind(logger_1.Logger).to(logger_1.NullLogger).inSingletonScope();
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
context.bind(logger_1.Logger).toDynamicValue(ctx => new ConsoleLogger(options.logLevel, (0, logger_1.getRequestParentName)(ctx)));
|
|
91
|
+
}
|
|
92
|
+
context.bind(logger_1.LoggerFactory).toFactory(dynamicContext => (caller) => {
|
|
93
|
+
const logger = dynamicContext.container.get(logger_1.Logger);
|
|
94
|
+
logger.caller = caller;
|
|
95
|
+
return logger;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
exports.configureConsoleLogger = configureConsoleLogger;
|
|
81
99
|
//# sourceMappingURL=console-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-logger.js","sourceRoot":"","sources":["../../../src/common/utils/console-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2022-2023 STMicroelectronics and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { interfaces } from 'inversify';
|
|
1
17
|
export declare abstract class Logger {
|
|
2
18
|
abstract logLevel: LogLevel;
|
|
3
19
|
abstract caller?: string;
|
|
@@ -24,4 +40,9 @@ export declare enum LogLevel {
|
|
|
24
40
|
debug = 4
|
|
25
41
|
}
|
|
26
42
|
export declare function asLogLevel(level: string | number): LogLevel | undefined;
|
|
43
|
+
export interface LoggerConfigOptions {
|
|
44
|
+
consoleLog?: boolean;
|
|
45
|
+
logLevel?: LogLevel;
|
|
46
|
+
}
|
|
47
|
+
export declare function getRequestParentName(context: interfaces.Context): string | undefined;
|
|
27
48
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/common/utils/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/common/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAc,UAAU,EAAE,MAAM,WAAW,CAAC;AAEnD,8BACsB,MAAM;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAEtD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAEtD,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAEvD,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;CAC1D;AAED,qBAAa,UAAW,SAAQ,MAAM;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAG7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAG7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAG9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;CAGjD;AAED,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAEvD,oBAAY,QAAQ;IAChB,IAAI,IAAI;IACR,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACZ;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAUvE;AAED,MAAM,WAAW,mBAAmB;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAQpF"}
|
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.asLogLevel = exports.LogLevel = exports.LoggerFactory = exports.NullLogger = exports.Logger = void 0;
|
|
9
|
+
exports.getRequestParentName = exports.asLogLevel = exports.LogLevel = exports.LoggerFactory = exports.NullLogger = exports.Logger = void 0;
|
|
10
10
|
/********************************************************************************
|
|
11
11
|
* Copyright (c) 2022-2023 STMicroelectronics and others.
|
|
12
12
|
*
|
|
@@ -64,4 +64,15 @@ function asLogLevel(level) {
|
|
|
64
64
|
return undefined;
|
|
65
65
|
}
|
|
66
66
|
exports.asLogLevel = asLogLevel;
|
|
67
|
+
function getRequestParentName(context) {
|
|
68
|
+
var _a;
|
|
69
|
+
if (context.currentRequest.parentRequest) {
|
|
70
|
+
const bindings = context.currentRequest.parentRequest.bindings;
|
|
71
|
+
if (bindings.length > 0) {
|
|
72
|
+
return (_a = bindings[0].implementationType) === null || _a === void 0 ? void 0 : _a.name;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
exports.getRequestParentName = getRequestParentName;
|
|
67
78
|
//# sourceMappingURL=logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/utils/logger.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/utils/logger.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAmD;AAG5C,IAAe,MAAM,GAArB,MAAe,MAAM;CAY3B,CAAA;AAZqB,MAAM;IAD3B,IAAA,sBAAU,GAAE;GACS,MAAM,CAY3B;AAZqB,wBAAM;AAc5B,MAAa,UAAW,SAAQ,MAAM;IAGlC,IAAI,CAAC,OAAe,EAAE,GAAG,MAAa;QAClC,QAAQ;IACZ,CAAC;IACD,IAAI,CAAC,OAAe,EAAE,GAAG,MAAa;QAClC,QAAQ;IACZ,CAAC;IACD,KAAK,CAAC,OAAe,EAAE,GAAG,MAAa;QACnC,QAAQ;IACZ,CAAC;IACD,KAAK,CAAC,OAAe,EAAE,GAAG,MAAa;QACnC,QAAQ;IACZ,CAAC;CACJ;AAfD,gCAeC;AAEY,QAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAIrD,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACb,CAAC,EANW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAMnB;AAED,SAAgB,UAAU,CAAC,KAAsB;IAC7C,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAC9B,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;KACrC;IAED,IAAI,QAAQ,IAAI,QAAQ,EAAE;QACtB,OAAQ,QAAgB,CAAC,KAAK,CAAC,CAAC;KACnC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAVD,gCAUC;AAOD,SAAgB,oBAAoB,CAAC,OAA2B;;IAC5D,IAAI,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,MAAA,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,0CAAE,IAAI,CAAC;SAC/C;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AARD,oDAQC"}
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { BindingContext } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { ContainerModule } from 'inversify';
|
|
17
18
|
import * as winston from 'winston';
|
|
18
|
-
import { ModuleContext } from '../../common/index';
|
|
19
19
|
import { LaunchOptions } from '../launch/cli-parser';
|
|
20
20
|
export declare function createAppModule(options: LaunchOptions): ContainerModule;
|
|
21
21
|
/**
|
|
@@ -32,5 +32,5 @@ export declare function createWinstonInstance<T extends LaunchOptions>(options:
|
|
|
32
32
|
* @param rebind Flag to determine wether an existing {@link Logger} binding in the context should be rebound. Default is `true`.
|
|
33
33
|
* @param baseLoggerCreator The underling global {@link winston.Logger} instance.
|
|
34
34
|
*/
|
|
35
|
-
export declare function configureWinstonLogger<T extends LaunchOptions>(context:
|
|
35
|
+
export declare function configureWinstonLogger<T extends LaunchOptions>(context: BindingContext, options: T, rebind?: boolean, baseLoggerCreator?: (launchOptions: T) => winston.Logger): void;
|
|
36
36
|
//# sourceMappingURL=app-module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-module.d.ts","sourceRoot":"","sources":["../../../src/node/di/app-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"app-module.d.ts","sourceRoot":"","sources":["../../../src/node/di/app-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAMvE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,aAAa,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAyBzF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,aAAa,EAC1D,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,EACV,MAAM,UAAO,EACb,iBAAiB,GAAE,CAAC,aAAa,EAAE,CAAC,KAAK,OAAO,CAAC,MAA8B,GAChF,IAAI,CAiBN"}
|
|
@@ -1,28 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.configureWinstonLogger = exports.createWinstonInstance = exports.createAppModule = void 0;
|
|
4
|
-
/********************************************************************************
|
|
5
|
-
* Copyright (c) 2022-2023 STMicroelectronics and others.
|
|
6
|
-
*
|
|
7
|
-
* This program and the accompanying materials are made available under the
|
|
8
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
9
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
10
|
-
*
|
|
11
|
-
* This Source Code may also be made available under the following Secondary
|
|
12
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
13
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
14
|
-
* with the GNU Classpath Exception which is available at
|
|
15
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
16
|
-
*
|
|
17
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
18
|
-
********************************************************************************/
|
|
19
4
|
const inversify_1 = require("inversify");
|
|
20
5
|
const winston = require("winston");
|
|
21
|
-
const
|
|
6
|
+
const common_1 = require("../../common");
|
|
22
7
|
const winston_logger_1 = require("./winston-logger");
|
|
23
8
|
function createAppModule(options) {
|
|
24
9
|
return new inversify_1.ContainerModule((bind, unbind, isBound, rebind) => {
|
|
25
|
-
bind(
|
|
10
|
+
bind(common_1.InjectionContainer).toDynamicValue(dynamicContext => dynamicContext.container);
|
|
26
11
|
const context = { bind, unbind, isBound, rebind };
|
|
27
12
|
configureWinstonLogger(context, options);
|
|
28
13
|
});
|
|
@@ -35,7 +20,7 @@ exports.createAppModule = createAppModule;
|
|
|
35
20
|
* @returns the configured winston instance.
|
|
36
21
|
*/
|
|
37
22
|
function createWinstonInstance(options) {
|
|
38
|
-
const level =
|
|
23
|
+
const level = common_1.LogLevel[options.logLevel];
|
|
39
24
|
const transports = [];
|
|
40
25
|
const printf = winston.format.printf(({ level, message, timestamp }) => `${timestamp} ${level} - ${message}`);
|
|
41
26
|
const timestamp = winston.format.timestamp({ format: () => new Date().toLocaleTimeString() });
|
|
@@ -63,29 +48,19 @@ exports.createWinstonInstance = createWinstonInstance;
|
|
|
63
48
|
function configureWinstonLogger(context, options, rebind = true, baseLoggerCreator = createWinstonInstance) {
|
|
64
49
|
const baseLogger = baseLoggerCreator(options);
|
|
65
50
|
if (rebind) {
|
|
66
|
-
if (context.isBound(
|
|
67
|
-
context.unbind(
|
|
51
|
+
if (context.isBound(common_1.Logger)) {
|
|
52
|
+
context.unbind(common_1.Logger);
|
|
68
53
|
}
|
|
69
|
-
if (context.isBound(
|
|
70
|
-
context.unbind(
|
|
54
|
+
if (context.isBound(common_1.LoggerFactory)) {
|
|
55
|
+
context.unbind(common_1.LoggerFactory);
|
|
71
56
|
}
|
|
72
57
|
}
|
|
73
|
-
context.bind(
|
|
74
|
-
context.bind(
|
|
75
|
-
const logger = dynamicContext.container.get(
|
|
58
|
+
context.bind(common_1.Logger).toDynamicValue(dynamicContext => new winston_logger_1.WinstonLogger(baseLogger, (0, common_1.getRequestParentName)(dynamicContext)));
|
|
59
|
+
context.bind(common_1.LoggerFactory).toFactory(dynamicContext => (caller) => {
|
|
60
|
+
const logger = dynamicContext.container.get(common_1.Logger);
|
|
76
61
|
logger.caller = caller;
|
|
77
62
|
return logger;
|
|
78
63
|
});
|
|
79
64
|
}
|
|
80
65
|
exports.configureWinstonLogger = configureWinstonLogger;
|
|
81
|
-
function getRequestParentName(context) {
|
|
82
|
-
var _a;
|
|
83
|
-
if (context.currentRequest.parentRequest) {
|
|
84
|
-
const bindings = context.currentRequest.parentRequest.bindings;
|
|
85
|
-
if (bindings.length > 0) {
|
|
86
|
-
return (_a = bindings[0].implementationType) === null || _a === void 0 ? void 0 : _a.name;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return undefined;
|
|
90
|
-
}
|
|
91
66
|
//# sourceMappingURL=app-module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-module.js","sourceRoot":"","sources":["../../../src/node/di/app-module.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"app-module.js","sourceRoot":"","sources":["../../../src/node/di/app-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,12 +14,11 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import * as cmd from 'commander';
|
|
17
|
-
import { LogLevel } from '../../common/utils/logger';
|
|
18
|
-
export interface LaunchOptions {
|
|
17
|
+
import { LogLevel, LoggerConfigOptions } from '../../common/utils/logger';
|
|
18
|
+
export interface LaunchOptions extends LoggerConfigOptions {
|
|
19
19
|
logLevel: LogLevel;
|
|
20
20
|
logDir?: string;
|
|
21
21
|
fileLog: boolean;
|
|
22
|
-
consoleLog: boolean;
|
|
23
22
|
}
|
|
24
23
|
export interface CliParser<O extends LaunchOptions = LaunchOptions> {
|
|
25
24
|
command: cmd.Command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-parser.d.ts","sourceRoot":"","sources":["../../../src/node/launch/cli-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AAGjC,OAAO,
|
|
1
|
+
{"version":3,"file":"cli-parser.d.ts","sourceRoot":"","sources":["../../../src/node/launch/cli-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAc,MAAM,2BAA2B,CAAC;AAEtF,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACtD,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IAC9D,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,aAAa,CAKxD,CAAC;AAEF,wBAAgB,eAAe,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,OAAO,GAAE,aAAoC,GAAG,SAAS,CAAC,CAAC,CAAC,CAgBpI;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAGtH;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAMvD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMlD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-parser.js","sourceRoot":"","sources":["../../../src/node/launch/cli-parser.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iCAAiC;AACjC,+BAA+B;AAC/B,6BAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"cli-parser.js","sourceRoot":"","sources":["../../../src/node/launch/cli-parser.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iCAAiC;AACjC,+BAA+B;AAC/B,6BAA6B;AAC7B,sDAAsF;AAazE,QAAA,oBAAoB,GAA4B;IACzD,QAAQ,EAAE,iBAAQ,CAAC,IAAI;IACvB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,KAAK;CACjB,CAAC;AAEF,SAAgB,eAAe,CAA0C,UAAyB,4BAAoB;IAClH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE;SAC5B,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,aAAa,CAAC;SAC1B,kBAAkB,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,sBAAsB,CAAC;SAC5B,MAAM,CAAC,4BAA4B,EAAE,gCAAgC,OAAO,CAAC,QAAQ,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC;SAC7H,MAAM,CACH,wBAAwB,EACxB,2EAA2E,OAAO,CAAC,MAAM,GAAG,EAC5F,aAAa,EACb,OAAO,CAAC,MAAM,CACjB;SACA,WAAW,CAAC,UAAU,EAAE,yCAAyC,CAAC,CAAC;IAExE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAI,OAAO,EAAE,OAAqB,EAAE,IAAI,CAAC,EAAE,CAAC;AACtF,CAAC;AAhBD,0CAgBC;AAED,SAAgB,KAAK,CAA6B,OAAoB,EAAE,cAA0B,EAAE,IAAe;IAC/G,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,uCAAY,cAAc,GAAK,OAAO,CAAC,IAAI,EAAK,EAAG;AACvD,CAAC;AAHD,sBAGC;AAED,SAAgB,eAAe,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE;QACR,MAAM,IAAI,GAAG,CAAC,oBAAoB,CAAC,0DAA0D,CAAC,CAAC;KAClG;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAND,0CAMC;AAED,SAAgB,aAAa,CAAC,KAAa;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;QACzE,MAAM,IAAI,GAAG,CAAC,oBAAoB,CAAC,oCAAoC,CAAC,CAAC;KAC5E;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAPD,sCAOC;AAED,SAAgB,WAAW,CAAC,KAAa;IACrC,IAAI;QACA,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;KAC3C;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAND,kCAMC"}
|
|
@@ -18,7 +18,7 @@ exports.processPort = exports.createSocketCliParser = exports.defaultSocketLaunc
|
|
|
18
18
|
********************************************************************************/
|
|
19
19
|
const cmd = require("commander");
|
|
20
20
|
const cli_parser_1 = require("./cli-parser");
|
|
21
|
-
exports.defaultSocketLaunchOptions = Object.assign(Object.assign({}, cli_parser_1.defaultLaunchOptions), { port:
|
|
21
|
+
exports.defaultSocketLaunchOptions = Object.assign(Object.assign({}, cli_parser_1.defaultLaunchOptions), { port: 0, host: 'localhost' });
|
|
22
22
|
function createSocketCliParser(defaultOptions = exports.defaultSocketLaunchOptions) {
|
|
23
23
|
const parser = (0, cli_parser_1.createCliParser)(defaultOptions);
|
|
24
24
|
parser.command
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-cli-parser.js","sourceRoot":"","sources":["../../../src/node/launch/socket-cli-parser.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iCAAiC;AACjC,6CAA+F;AAOlF,QAAA,0BAA0B,mCAChC,iCAAoB,KACvB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"socket-cli-parser.js","sourceRoot":"","sources":["../../../src/node/launch/socket-cli-parser.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iCAAiC;AACjC,6CAA+F;AAOlF,QAAA,0BAA0B,mCAChC,iCAAoB,KACvB,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,WAAW,IACnB;AAEF,SAAgB,qBAAqB,CACjC,iBAAsC,kCAA0B;IAEhE,MAAM,MAAM,GAAG,IAAA,4BAAe,EAAI,cAAc,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO;SACT,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,cAAc,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC;SACnH,MAAM,CAAC,eAAe,EAAE,2BAA2B,cAAc,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC;SAC9F,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;SACpD,MAAM,CAAC,WAAW,EAAE,qBAAqB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC;AAClB,CAAC;AAVD,sDAUC;AAED,SAAgB,WAAW,CAAC,KAAa;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QACb,MAAM,IAAI,GAAG,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;KAC/D;IACD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE;QAC1B,MAAM,IAAI,GAAG,CAAC,oBAAoB,CAAC,4CAA4C,CAAC,CAAC;KACpF;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAVD,kCAUC"}
|
|
@@ -1,35 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
/********************************************************************************
|
|
3
|
-
* Copyright (c) 2022-2023 STMicroelectronics and others.
|
|
4
|
-
*
|
|
5
|
-
* This program and the accompanying materials are made available under the
|
|
6
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
*
|
|
9
|
-
* This Source Code may also be made available under the following Secondary
|
|
10
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
* with the GNU Classpath Exception which is available at
|
|
13
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
*
|
|
15
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
-
********************************************************************************/
|
|
17
|
-
import { Container } from 'inversify';
|
|
18
2
|
import * as net from 'net';
|
|
19
3
|
import * as jsonrpc from 'vscode-jsonrpc/node';
|
|
20
|
-
import {
|
|
21
|
-
import { GLSPServer } from '../../common/protocol/glsp-server';
|
|
4
|
+
import { JsonRpcGLSPServerLauncher } from '../../common/launch/jsonrpc-server-launcher';
|
|
22
5
|
import { Logger } from '../../common/utils/logger';
|
|
23
6
|
export declare const START_UP_COMPLETE_MSG = "[GLSP-Server]:Startup completed. Accepting requests on port:";
|
|
24
|
-
export declare class SocketServerLauncher extends
|
|
7
|
+
export declare class SocketServerLauncher extends JsonRpcGLSPServerLauncher<net.TcpSocketConnectOpts> {
|
|
25
8
|
protected logger: Logger;
|
|
26
|
-
protected currentConnections: jsonrpc.MessageConnection[];
|
|
27
|
-
protected startupCompleteMessage: string;
|
|
28
9
|
protected netServer: net.Server;
|
|
29
10
|
constructor();
|
|
30
11
|
protected run(opts: net.TcpSocketConnectOpts): Promise<void>;
|
|
31
|
-
protected createClientConnection(socket: net.Socket): Promise<void>;
|
|
32
|
-
protected disposeClientConnection(container: Container, glspServer: GLSPServer): void;
|
|
33
12
|
protected createConnection(socket: net.Socket): jsonrpc.MessageConnection;
|
|
34
13
|
}
|
|
35
14
|
//# sourceMappingURL=socket-server-launcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"socket-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,eAAO,MAAM,qBAAqB,iEAAiE,CAAC;AAEpG,qBACa,oBAAqB,SAAQ,yBAAyB,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACzF,UAAmC,MAAM,EAAE,MAAM,CAAC;IAElD,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;;IAWhC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B5D,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB;CAG5E"}
|
|
@@ -25,26 +25,25 @@ exports.SocketServerLauncher = exports.START_UP_COMPLETE_MSG = void 0;
|
|
|
25
25
|
*
|
|
26
26
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
27
27
|
********************************************************************************/
|
|
28
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
28
29
|
const inversify_1 = require("inversify");
|
|
29
30
|
const net = require("net");
|
|
30
31
|
const jsonrpc = require("vscode-jsonrpc/node");
|
|
31
|
-
const
|
|
32
|
-
const glsp_server_launcher_1 = require("../../common/launch/glsp-server-launcher");
|
|
33
|
-
const glsp_server_1 = require("../../common/protocol/glsp-server");
|
|
32
|
+
const jsonrpc_server_launcher_1 = require("../../common/launch/jsonrpc-server-launcher");
|
|
34
33
|
const logger_1 = require("../../common/utils/logger");
|
|
35
34
|
exports.START_UP_COMPLETE_MSG = '[GLSP-Server]:Startup completed. Accepting requests on port:';
|
|
36
|
-
let SocketServerLauncher = class SocketServerLauncher extends
|
|
35
|
+
let SocketServerLauncher = class SocketServerLauncher extends jsonrpc_server_launcher_1.JsonRpcGLSPServerLauncher {
|
|
37
36
|
constructor() {
|
|
38
37
|
super();
|
|
39
|
-
this.
|
|
40
|
-
this.startupCompleteMessage = exports.START_UP_COMPLETE_MSG;
|
|
41
|
-
this.toDispose.push(__1.Disposable.create(() => {
|
|
42
|
-
this.currentConnections.forEach(connection => connection.dispose());
|
|
38
|
+
this.toDispose.push(protocol_1.Disposable.create(() => {
|
|
43
39
|
this.netServer.close();
|
|
44
40
|
}));
|
|
45
41
|
}
|
|
46
42
|
run(opts) {
|
|
47
|
-
this.netServer = net.createServer(socket =>
|
|
43
|
+
this.netServer = net.createServer(socket => {
|
|
44
|
+
const connection = this.createConnection(socket);
|
|
45
|
+
this.createServerInstance(connection);
|
|
46
|
+
});
|
|
48
47
|
this.netServer.listen(opts.port, opts.host);
|
|
49
48
|
this.netServer.on('listening', () => {
|
|
50
49
|
const addressInfo = this.netServer.address();
|
|
@@ -70,25 +69,6 @@ let SocketServerLauncher = class SocketServerLauncher extends glsp_server_launch
|
|
|
70
69
|
this.netServer.on('error', error => reject(error));
|
|
71
70
|
});
|
|
72
71
|
}
|
|
73
|
-
async createClientConnection(socket) {
|
|
74
|
-
const container = this.createContainer();
|
|
75
|
-
const connection = this.createConnection(socket);
|
|
76
|
-
this.currentConnections.push(connection);
|
|
77
|
-
const glspServer = container.get(glsp_server_1.JsonRpcGLSPServer);
|
|
78
|
-
glspServer.connect(connection);
|
|
79
|
-
this.logger.info(`Starting GLSP server connection for client: '${socket.localAddress}'`);
|
|
80
|
-
connection.listen();
|
|
81
|
-
connection.onDispose(() => this.disposeClientConnection(container, glspServer));
|
|
82
|
-
socket.on('close', () => this.disposeClientConnection(container, glspServer));
|
|
83
|
-
return new Promise((resolve, rejects) => {
|
|
84
|
-
connection.onClose(() => resolve(undefined));
|
|
85
|
-
connection.onError(error => rejects(error));
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
disposeClientConnection(container, glspServer) {
|
|
89
|
-
glspServer.shutdown();
|
|
90
|
-
container.unbindAll();
|
|
91
|
-
}
|
|
92
72
|
createConnection(socket) {
|
|
93
73
|
return jsonrpc.createMessageConnection(new jsonrpc.SocketMessageReader(socket), new jsonrpc.SocketMessageWriter(socket), console);
|
|
94
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-server-launcher.js","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"socket-server-launcher.js","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAAoD;AACpD,yCAA+C;AAC/C,2BAA2B;AAC3B,+CAA+C;AAC/C,yFAAwF;AACxF,sDAAmD;AAEtC,QAAA,qBAAqB,GAAG,8DAA8D,CAAC;AAG7F,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mDAAmD;IAKzF;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,qBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAES,GAAG,CAAC,IAA8B;QACxC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YACvC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;aACV;iBAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mEAAmE,WAAW,mBAAmB,CAAC,CAAC;gBACrH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;aACV;YACD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mEAAmE,WAAW,EAAE,CAAC,CAAC;YACnG,mFAAmF;YACnF,2FAA2F;YAC3F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACP,CAAC;IAES,gBAAgB,CAAC,MAAkB;QACzC,OAAO,OAAO,CAAC,uBAAuB,CAAC,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACtI,CAAC;CACJ,CAAA;AA/CG;IAAC,IAAA,kBAAM,EAAC,eAAM,CAAC;8BAA4B,eAAM;oDAAC;AADzC,oBAAoB;IADhC,IAAA,sBAAU,GAAE;;GACA,oBAAoB,CAgDhC;AAhDY,oDAAoB"}
|
|
@@ -15,9 +15,12 @@
|
|
|
15
15
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
16
|
********************************************************************************/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
18
19
|
const chai_1 = require("chai");
|
|
19
20
|
const inversify_1 = require("inversify");
|
|
20
21
|
const net = require("net");
|
|
22
|
+
const sinon = require("sinon");
|
|
23
|
+
const glsp_server_1 = require("../../common/protocol/glsp-server");
|
|
21
24
|
const app_module_1 = require("../di/app-module");
|
|
22
25
|
const socket_cli_parser_1 = require("./socket-cli-parser");
|
|
23
26
|
const socket_server_launcher_1 = require("./socket-server-launcher");
|
|
@@ -25,7 +28,9 @@ const severPort = 5008;
|
|
|
25
28
|
describe('test SocketServerLauncher', () => {
|
|
26
29
|
it('starts and stops', async () => {
|
|
27
30
|
const appContainer = new inversify_1.Container();
|
|
31
|
+
const serverStub = sinon.createStubInstance(glsp_server_1.DefaultGLSPServer);
|
|
28
32
|
appContainer.load((0, app_module_1.createAppModule)(socket_cli_parser_1.defaultSocketLaunchOptions));
|
|
33
|
+
appContainer.bind(protocol_1.GLSPServer).toConstantValue(serverStub);
|
|
29
34
|
const launcher = appContainer.resolve(socket_server_launcher_1.SocketServerLauncher);
|
|
30
35
|
launcher.start({ port: severPort });
|
|
31
36
|
const sockStart = new net.Socket();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-server-launcher.spec.js","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,+BAA8B;AAC9B,yCAAsC;AACtC,2BAA2B;AAC3B,iDAAmD;AACnD,2DAAiE;AACjE,qEAAgE;AAChE,MAAM,SAAS,GAAG,IAAI,CAAC;AACvB,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,YAAY,GAAG,IAAI,qBAAS,EAAE,CAAC;QACrC,YAAY,CAAC,IAAI,CAAC,IAAA,4BAAe,EAAC,8CAA0B,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"socket-server-launcher.spec.js","sourceRoot":"","sources":["../../../src/node/launch/socket-server-launcher.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,qDAAoD;AACpD,+BAA8B;AAC9B,yCAAsC;AACtC,2BAA2B;AAC3B,+BAA+B;AAC/B,mEAAsE;AACtE,iDAAmD;AACnD,2DAAiE;AACjE,qEAAgE;AAChE,MAAM,SAAS,GAAG,IAAI,CAAC;AACvB,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,YAAY,GAAG,IAAI,qBAAS,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC,kBAAkB,CAAC,+BAAiB,CAAC,CAAC;QAC/D,YAAY,CAAC,IAAI,CAAC,IAAA,4BAAe,EAAC,8CAA0B,CAAC,CAAC,CAAC;QAE/D,YAAY,CAAC,IAAI,CAAC,qBAAU,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,6CAAoB,CAAC,CAAC;QAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACnC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;YACnC,SAAS;iBACJ,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBAChB,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC;gBACb,SAAS,CAAC,OAAO,EAAE,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,CAAC;YACd,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;gBACb,aAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC,CAAC;iBACD,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBAChB,aAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC1C,CAAC,CAAC;iBACD,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,CAAC;QACnB,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAClC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;YAClC,QAAQ;iBACH,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBAChB,aAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC3C,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACd,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC;gBACb,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,CAAC;YACd,CAAC,CAAC;iBACD,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBAChB,aAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC1C,CAAC,CAAC;iBACD,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -16,11 +16,9 @@
|
|
|
16
16
|
/// <reference types="node" />
|
|
17
17
|
import { MaybePromise, WebSocketWrapper } from '@eclipse-glsp/protocol';
|
|
18
18
|
import * as http from 'http';
|
|
19
|
-
import { Container } from 'inversify';
|
|
20
19
|
import * as jsonrpc from 'vscode-jsonrpc';
|
|
21
20
|
import { Server, WebSocket } from 'ws';
|
|
22
|
-
import {
|
|
23
|
-
import { GLSPServer } from '../../common/protocol/glsp-server';
|
|
21
|
+
import { JsonRpcGLSPServerLauncher } from '../../common/launch/jsonrpc-server-launcher';
|
|
24
22
|
import { Logger } from '../../common/utils/logger';
|
|
25
23
|
export interface WebSocketServerOptions {
|
|
26
24
|
host?: string;
|
|
@@ -37,15 +35,11 @@ export interface WebsocketConnectionData {
|
|
|
37
35
|
socket: WebSocket;
|
|
38
36
|
connection: jsonrpc.MessageConnection;
|
|
39
37
|
}
|
|
40
|
-
export declare class WebSocketServerLauncher extends
|
|
38
|
+
export declare class WebSocketServerLauncher extends JsonRpcGLSPServerLauncher<WebSocketServerOptions> {
|
|
41
39
|
protected logger: Logger;
|
|
42
40
|
protected server: Server;
|
|
43
|
-
protected startupCompleteMessage: string;
|
|
44
|
-
protected currentConnections: jsonrpc.MessageConnection[];
|
|
45
41
|
constructor();
|
|
46
42
|
protected run(options: WebSocketServerOptions): Promise<void>;
|
|
47
|
-
protected createClientConnection(socket: WebSocket): Promise<void>;
|
|
48
|
-
protected disposeClientConnection(container: Container, glspServer: GLSPServer): void;
|
|
49
43
|
protected createConnection(socket: WebSocket): jsonrpc.MessageConnection;
|
|
50
44
|
protected resolveOptions(options: WebSocketServerOptions): Promise<ResolvedWebSocketServerOptions>;
|
|
51
45
|
protected createHttpServer(port: number, host?: string): http.Server;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/node/launch/websocket-server-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,OAAO,EAAyC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket-server-launcher.d.ts","sourceRoot":"","sources":["../../../src/node/launch/websocket-server-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,OAAO,EAAyC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,MAAM,WAAW,sBAAsB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,8BAA8B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC;CACzC;AAID,qBACa,uBAAwB,SAAQ,yBAAyB,CAAC,sBAAsB,CAAC;IAC1F,UACmB,MAAM,EAAE,MAAM,CAAC;IAElC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;;cAWT,GAAG,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBnE,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB;cAIxD,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAQxG,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;IAgB3D,KAAK,CAAC,OAAO,EAAE,sBAAsB,GAAG,YAAY,CAAC,IAAI,CAAC;CAGtE;AAeD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB,CAQjE"}
|
|
@@ -30,18 +30,13 @@ const http = require("http");
|
|
|
30
30
|
const inversify_1 = require("inversify");
|
|
31
31
|
const net = require("net");
|
|
32
32
|
const ws_1 = require("ws");
|
|
33
|
-
const
|
|
34
|
-
const glsp_server_1 = require("../../common/protocol/glsp-server");
|
|
33
|
+
const jsonrpc_server_launcher_1 = require("../../common/launch/jsonrpc-server-launcher");
|
|
35
34
|
const logger_1 = require("../../common/utils/logger");
|
|
36
|
-
const socket_server_launcher_1 = require("./socket-server-launcher");
|
|
37
35
|
const STATUS_UPGRADE_REQUIRED = 426;
|
|
38
|
-
let WebSocketServerLauncher = class WebSocketServerLauncher extends
|
|
36
|
+
let WebSocketServerLauncher = class WebSocketServerLauncher extends jsonrpc_server_launcher_1.JsonRpcGLSPServerLauncher {
|
|
39
37
|
constructor() {
|
|
40
38
|
super();
|
|
41
|
-
this.startupCompleteMessage = socket_server_launcher_1.START_UP_COMPLETE_MSG;
|
|
42
|
-
this.currentConnections = [];
|
|
43
39
|
this.toDispose.push(protocol_1.Disposable.create(() => {
|
|
44
|
-
this.currentConnections.forEach(connection => connection.dispose());
|
|
45
40
|
this.server.close();
|
|
46
41
|
}));
|
|
47
42
|
}
|
|
@@ -52,33 +47,14 @@ let WebSocketServerLauncher = class WebSocketServerLauncher extends glsp_server_
|
|
|
52
47
|
this.logger.info(`The GLSP Websocket launcher is ready to accept new client requests on endpoint '${endpoint}'`);
|
|
53
48
|
console.log(this.startupCompleteMessage.concat(resolvedOptions.port.toString()));
|
|
54
49
|
this.server.on('connection', (ws, req) => {
|
|
55
|
-
this.
|
|
50
|
+
const connection = this.createConnection(ws);
|
|
51
|
+
this.createServerInstance(connection);
|
|
56
52
|
});
|
|
57
53
|
return new Promise((resolve, reject) => {
|
|
58
54
|
this.server.on('close', () => resolve(undefined));
|
|
59
55
|
this.server.on('error', error => reject(error));
|
|
60
56
|
});
|
|
61
57
|
}
|
|
62
|
-
async createClientConnection(socket) {
|
|
63
|
-
const container = this.createContainer();
|
|
64
|
-
const connection = this.createConnection(socket);
|
|
65
|
-
this.currentConnections.push(connection);
|
|
66
|
-
const glspServer = container.get(glsp_server_1.JsonRpcGLSPServer);
|
|
67
|
-
glspServer.connect(connection);
|
|
68
|
-
this.logger.info('Starting GLSP server connection');
|
|
69
|
-
connection.listen();
|
|
70
|
-
connection.onDispose(() => this.disposeClientConnection(container, glspServer));
|
|
71
|
-
socket.on('close', () => this.disposeClientConnection(container, glspServer));
|
|
72
|
-
connection.onClose(() => console.log('GOD dam'));
|
|
73
|
-
return new Promise((resolve, rejects) => {
|
|
74
|
-
connection.onClose(() => resolve(undefined));
|
|
75
|
-
connection.onError(error => rejects(error));
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
disposeClientConnection(container, glspServer) {
|
|
79
|
-
glspServer.shutdown();
|
|
80
|
-
container.unbindAll();
|
|
81
|
-
}
|
|
82
58
|
createConnection(socket) {
|
|
83
59
|
return (0, protocol_1.createWebSocketConnection)(wrapWebSocket(socket));
|
|
84
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-server-launcher.js","sourceRoot":"","sources":["../../../src/node/launch/websocket-server-launcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,qDAA+G;AAC/G,6BAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"websocket-server-launcher.js","sourceRoot":"","sources":["../../../src/node/launch/websocket-server-launcher.ts"],"names":[],"mappings":"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"}
|