serverless-offline 8.8.1 → 9.0.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/README.md +3 -3
- package/package.json +33 -57
- package/src/ServerlessOffline.js +412 -0
- package/src/config/commandOptions.js +155 -0
- package/src/config/constants.js +22 -0
- package/{dist → src}/config/defaultOptions.js +8 -17
- package/src/config/index.js +4 -0
- package/src/config/supportedRuntimes.js +47 -0
- package/src/events/authCanExecuteResource.js +35 -0
- package/src/events/authFunctionNameExtractor.js +75 -0
- package/src/events/authMatchPolicyResource.js +71 -0
- package/src/events/authValidateContext.js +51 -0
- package/src/events/http/Endpoint.js +135 -0
- package/src/events/http/Http.js +50 -0
- package/src/events/http/HttpEventDefinition.js +20 -0
- package/src/events/http/HttpServer.js +1277 -0
- package/src/events/http/OfflineEndpoint.js +33 -0
- package/src/events/http/authJWTSettingsExtractor.js +70 -0
- package/src/events/http/createAuthScheme.js +176 -0
- package/src/events/http/createJWTAuthScheme.js +106 -0
- package/src/events/http/index.js +1 -0
- package/src/events/http/javaHelpers.js +102 -0
- package/src/events/http/lambda-events/LambdaIntegrationEvent.js +57 -0
- package/src/events/http/lambda-events/LambdaProxyIntegrationEvent.js +233 -0
- package/src/events/http/lambda-events/LambdaProxyIntegrationEventV2.js +190 -0
- package/src/events/http/lambda-events/VelocityContext.js +147 -0
- package/src/events/http/lambda-events/index.js +4 -0
- package/src/events/http/lambda-events/renderVelocityTemplateObject.js +93 -0
- package/{dist → src}/events/http/parseResources.js +73 -78
- package/src/events/http/payloadSchemaValidator.js +13 -0
- package/{dist → src}/events/http/templates/offline-default.req.vm +0 -0
- package/{dist → src}/events/http/templates/offline-default.res.vm +0 -0
- package/src/events/schedule/Schedule.js +131 -0
- package/src/events/schedule/ScheduleEvent.js +18 -0
- package/src/events/schedule/ScheduleEventDefinition.js +21 -0
- package/src/events/schedule/index.js +1 -0
- package/src/events/websocket/HttpServer.js +69 -0
- package/src/events/websocket/WebSocket.js +52 -0
- package/src/events/websocket/WebSocketClients.js +462 -0
- package/src/events/websocket/WebSocketEventDefinition.js +18 -0
- package/src/events/websocket/WebSocketServer.js +73 -0
- package/src/events/websocket/http-routes/_catchAll/catchAllRoute.js +16 -0
- package/src/events/websocket/http-routes/_catchAll/index.js +1 -0
- package/src/events/websocket/http-routes/connections/ConnectionsController.js +28 -0
- package/src/events/websocket/http-routes/connections/connectionsRoutes.js +70 -0
- package/src/events/websocket/http-routes/connections/index.js +1 -0
- package/src/events/websocket/http-routes/index.js +2 -0
- package/src/events/websocket/index.js +1 -0
- package/src/events/websocket/lambda-events/WebSocketAuthorizerEvent.js +65 -0
- package/src/events/websocket/lambda-events/WebSocketConnectEvent.js +68 -0
- package/src/events/websocket/lambda-events/WebSocketDisconnectEvent.js +31 -0
- package/src/events/websocket/lambda-events/WebSocketEvent.js +29 -0
- package/src/events/websocket/lambda-events/WebSocketRequestContext.js +67 -0
- package/src/events/websocket/lambda-events/index.js +4 -0
- package/src/index.js +12 -0
- package/src/lambda/HttpServer.js +108 -0
- package/src/lambda/Lambda.js +68 -0
- package/src/lambda/LambdaContext.js +33 -0
- package/src/lambda/LambdaFunction.js +308 -0
- package/src/lambda/LambdaFunctionPool.js +109 -0
- package/src/lambda/__tests__/LambdaContext.test.js +30 -0
- package/src/lambda/__tests__/LambdaFunction.test.js +196 -0
- package/src/lambda/__tests__/fixtures/Lambda/LambdaFunctionThatReturnsJSONObject.fixture.js +47 -0
- package/src/lambda/__tests__/fixtures/Lambda/LambdaFunctionThatReturnsNativeString.fixture.js +46 -0
- package/src/lambda/__tests__/fixtures/Lambda/package.json +3 -0
- package/src/lambda/__tests__/fixtures/lambdaFunction.fixture.js +145 -0
- package/src/lambda/__tests__/fixtures/package.json +3 -0
- package/src/lambda/__tests__/routes/invocations/InvocationsController.test.js +42 -0
- package/src/lambda/handler-runner/HandlerRunner.js +136 -0
- package/src/lambda/handler-runner/child-process-runner/ChildProcessRunner.js +72 -0
- package/src/lambda/handler-runner/child-process-runner/childProcessHelper.js +42 -0
- package/src/lambda/handler-runner/child-process-runner/index.js +1 -0
- package/src/lambda/handler-runner/docker-runner/DockerContainer.js +417 -0
- package/src/lambda/handler-runner/docker-runner/DockerImage.js +35 -0
- package/src/lambda/handler-runner/docker-runner/DockerRunner.js +63 -0
- package/src/lambda/handler-runner/docker-runner/index.js +1 -0
- package/src/lambda/handler-runner/go-runner/GoRunner.js +166 -0
- package/src/lambda/handler-runner/go-runner/index.js +1 -0
- package/src/lambda/handler-runner/in-process-runner/InProcessRunner.js +125 -0
- package/src/lambda/handler-runner/in-process-runner/index.js +1 -0
- package/src/lambda/handler-runner/index.js +1 -0
- package/src/lambda/handler-runner/java-runner/JavaRunner.js +114 -0
- package/src/lambda/handler-runner/java-runner/index.js +1 -0
- package/src/lambda/handler-runner/python-runner/PythonRunner.js +138 -0
- package/src/lambda/handler-runner/python-runner/index.js +1 -0
- package/{dist → src}/lambda/handler-runner/python-runner/invoke.py +0 -0
- package/src/lambda/handler-runner/ruby-runner/RubyRunner.js +107 -0
- package/src/lambda/handler-runner/ruby-runner/index.js +1 -0
- package/{dist → src}/lambda/handler-runner/ruby-runner/invoke.rb +0 -0
- package/src/lambda/handler-runner/worker-thread-runner/WorkerThreadRunner.js +70 -0
- package/src/lambda/handler-runner/worker-thread-runner/index.js +1 -0
- package/src/lambda/handler-runner/worker-thread-runner/workerThreadHelper.js +29 -0
- package/src/lambda/index.js +1 -0
- package/src/lambda/routes/index.js +2 -0
- package/src/lambda/routes/invocations/InvocationsController.js +102 -0
- package/src/lambda/routes/invocations/index.js +1 -0
- package/src/lambda/routes/invocations/invocationsRoute.js +77 -0
- package/src/lambda/routes/invoke-async/InvokeAsyncController.js +20 -0
- package/src/lambda/routes/invoke-async/index.js +1 -0
- package/src/lambda/routes/invoke-async/invokeAsyncRoute.js +33 -0
- package/src/utils/__tests__/createUniqueId.test.js +18 -0
- package/src/utils/__tests__/formatToClfTime.test.js +14 -0
- package/src/utils/__tests__/generateHapiPath.test.js +46 -0
- package/src/utils/__tests__/lowerCaseKeys.test.js +30 -0
- package/src/utils/__tests__/parseHeaders.test.js +13 -0
- package/src/utils/__tests__/parseMultiValueHeaders.test.js +24 -0
- package/src/utils/__tests__/parseMultiValueQueryStringParameters.test.js +159 -0
- package/src/utils/__tests__/parseQueryStringParameters.test.js +15 -0
- package/src/utils/__tests__/splitHandlerPathAndName.test.js +54 -0
- package/src/utils/__tests__/unflatten.test.js +32 -0
- package/src/utils/checkDockerDaemon.js +19 -0
- package/src/utils/checkGoVersion.js +16 -0
- package/src/utils/createApiKey.js +5 -0
- package/src/utils/createUniqueId.js +5 -0
- package/src/utils/detectExecutable.js +11 -0
- package/{dist → src}/utils/formatToClfTime.js +6 -14
- package/src/utils/generateHapiPath.js +26 -0
- package/src/utils/getHttpApiCorsConfig.js +28 -0
- package/src/utils/index.js +42 -0
- package/src/utils/jsonPath.js +13 -0
- package/src/utils/logRoutes.js +64 -0
- package/src/utils/lowerCaseKeys.js +6 -0
- package/src/utils/parseHeaders.js +14 -0
- package/src/utils/parseMultiValueHeaders.js +27 -0
- package/src/utils/parseMultiValueQueryStringParameters.js +31 -0
- package/src/utils/parseQueryStringParameters.js +15 -0
- package/src/utils/resolveJoins.js +29 -0
- package/src/utils/splitHandlerPathAndName.js +31 -0
- package/src/utils/unflatten.js +11 -0
- package/CHANGELOG.md +0 -78
- package/dist/ServerlessOffline.js +0 -508
- package/dist/config/commandOptions.js +0 -149
- package/dist/config/constants.js +0 -30
- package/dist/config/index.js +0 -55
- package/dist/config/supportedRuntimes.js +0 -40
- package/dist/debugLog.js +0 -12
- package/dist/events/authCanExecuteResource.js +0 -35
- package/dist/events/authFunctionNameExtractor.js +0 -87
- package/dist/events/authMatchPolicyResource.js +0 -62
- package/dist/events/authValidateContext.js +0 -53
- package/dist/events/http/Endpoint.js +0 -173
- package/dist/events/http/Http.js +0 -77
- package/dist/events/http/HttpEventDefinition.js +0 -36
- package/dist/events/http/HttpServer.js +0 -1370
- package/dist/events/http/OfflineEndpoint.js +0 -38
- package/dist/events/http/authJWTSettingsExtractor.js +0 -76
- package/dist/events/http/createAuthScheme.js +0 -184
- package/dist/events/http/createJWTAuthScheme.js +0 -159
- package/dist/events/http/index.js +0 -15
- package/dist/events/http/javaHelpers.js +0 -99
- package/dist/events/http/lambda-events/LambdaIntegrationEvent.js +0 -87
- package/dist/events/http/lambda-events/LambdaProxyIntegrationEvent.js +0 -246
- package/dist/events/http/lambda-events/LambdaProxyIntegrationEventV2.js +0 -225
- package/dist/events/http/lambda-events/VelocityContext.js +0 -170
- package/dist/events/http/lambda-events/index.js +0 -39
- package/dist/events/http/lambda-events/renderVelocityTemplateObject.js +0 -111
- package/dist/events/http/payloadSchemaValidator.js +0 -13
- package/dist/events/schedule/Schedule.js +0 -183
- package/dist/events/schedule/ScheduleEvent.js +0 -27
- package/dist/events/schedule/ScheduleEventDefinition.js +0 -36
- package/dist/events/schedule/index.js +0 -15
- package/dist/events/websocket/HttpServer.js +0 -114
- package/dist/events/websocket/WebSocket.js +0 -78
- package/dist/events/websocket/WebSocketClients.js +0 -577
- package/dist/events/websocket/WebSocketEventDefinition.js +0 -32
- package/dist/events/websocket/WebSocketServer.js +0 -139
- package/dist/events/websocket/http-routes/_catchAll/catchAllRoute.js +0 -33
- package/dist/events/websocket/http-routes/_catchAll/index.js +0 -15
- package/dist/events/websocket/http-routes/connections/ConnectionsController.js +0 -45
- package/dist/events/websocket/http-routes/connections/connectionsRoutes.js +0 -95
- package/dist/events/websocket/http-routes/connections/index.js +0 -15
- package/dist/events/websocket/http-routes/index.js +0 -23
- package/dist/events/websocket/index.js +0 -15
- package/dist/events/websocket/lambda-events/WebSocketAuthorizerEvent.js +0 -99
- package/dist/events/websocket/lambda-events/WebSocketConnectEvent.js +0 -101
- package/dist/events/websocket/lambda-events/WebSocketDisconnectEvent.js +0 -47
- package/dist/events/websocket/lambda-events/WebSocketEvent.js +0 -54
- package/dist/events/websocket/lambda-events/WebSocketRequestContext.js +0 -98
- package/dist/events/websocket/lambda-events/index.js +0 -39
- package/dist/index.js +0 -15
- package/dist/lambda/HttpServer.js +0 -124
- package/dist/lambda/Lambda.js +0 -117
- package/dist/lambda/LambdaContext.js +0 -53
- package/dist/lambda/LambdaFunction.js +0 -390
- package/dist/lambda/LambdaFunctionPool.js +0 -127
- package/dist/lambda/handler-runner/HandlerRunner.js +0 -195
- package/dist/lambda/handler-runner/child-process-runner/ChildProcessRunner.js +0 -124
- package/dist/lambda/handler-runner/child-process-runner/childProcessHelper.js +0 -49
- package/dist/lambda/handler-runner/child-process-runner/index.js +0 -15
- package/dist/lambda/handler-runner/docker-runner/DockerContainer.js +0 -515
- package/dist/lambda/handler-runner/docker-runner/DockerImage.js +0 -67
- package/dist/lambda/handler-runner/docker-runner/DockerRunner.js +0 -74
- package/dist/lambda/handler-runner/docker-runner/index.js +0 -15
- package/dist/lambda/handler-runner/go-runner/GoRunner.js +0 -230
- package/dist/lambda/handler-runner/go-runner/index.js +0 -15
- package/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js +0 -228
- package/dist/lambda/handler-runner/in-process-runner/index.js +0 -15
- package/dist/lambda/handler-runner/index.js +0 -15
- package/dist/lambda/handler-runner/java-runner/JavaRunner.js +0 -153
- package/dist/lambda/handler-runner/java-runner/index.js +0 -15
- package/dist/lambda/handler-runner/python-runner/PythonRunner.js +0 -185
- package/dist/lambda/handler-runner/python-runner/index.js +0 -15
- package/dist/lambda/handler-runner/ruby-runner/RubyRunner.js +0 -147
- package/dist/lambda/handler-runner/ruby-runner/index.js +0 -15
- package/dist/lambda/handler-runner/worker-thread-runner/WorkerThreadRunner.js +0 -92
- package/dist/lambda/handler-runner/worker-thread-runner/index.js +0 -15
- package/dist/lambda/handler-runner/worker-thread-runner/workerThreadHelper.js +0 -31
- package/dist/lambda/index.js +0 -15
- package/dist/lambda/routes/index.js +0 -23
- package/dist/lambda/routes/invocations/InvocationsController.js +0 -142
- package/dist/lambda/routes/invocations/index.js +0 -15
- package/dist/lambda/routes/invocations/invocationsRoute.js +0 -90
- package/dist/lambda/routes/invoke-async/InvokeAsyncController.js +0 -38
- package/dist/lambda/routes/invoke-async/index.js +0 -15
- package/dist/lambda/routes/invoke-async/invokeAsyncRoute.js +0 -43
- package/dist/main.js +0 -11
- package/dist/serverlessLog.js +0 -91
- package/dist/utils/checkDockerDaemon.js +0 -27
- package/dist/utils/checkGoVersion.js +0 -27
- package/dist/utils/createApiKey.js +0 -12
- package/dist/utils/createUniqueId.js +0 -14
- package/dist/utils/detectExecutable.js +0 -21
- package/dist/utils/generateHapiPath.js +0 -28
- package/dist/utils/getHttpApiCorsConfig.js +0 -40
- package/dist/utils/index.js +0 -165
- package/dist/utils/jsonPath.js +0 -21
- package/dist/utils/lowerCaseKeys.js +0 -14
- package/dist/utils/parseHeaders.js +0 -23
- package/dist/utils/parseMultiValueHeaders.js +0 -36
- package/dist/utils/parseMultiValueQueryStringParameters.js +0 -40
- package/dist/utils/parseQueryStringParameters.js +0 -26
- package/dist/utils/resolveJoins.js +0 -36
- package/dist/utils/satisfiesVersionRange.js +0 -20
- package/dist/utils/splitHandlerPathAndName.js +0 -37
- package/dist/utils/unflatten.js +0 -18
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _ws = require("ws");
|
|
9
|
-
|
|
10
|
-
var _debugLog = _interopRequireDefault(require("../../debugLog.js"));
|
|
11
|
-
|
|
12
|
-
var _serverlessLog = _interopRequireDefault(require("../../serverlessLog.js"));
|
|
13
|
-
|
|
14
|
-
var _index = require("../../utils/index.js");
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
|
-
function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
|
|
19
|
-
|
|
20
|
-
var id = 0;
|
|
21
|
-
|
|
22
|
-
function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
|
|
23
|
-
|
|
24
|
-
var _options = /*#__PURE__*/_classPrivateFieldLooseKey("options");
|
|
25
|
-
|
|
26
|
-
var _webSocketClients = /*#__PURE__*/_classPrivateFieldLooseKey("webSocketClients");
|
|
27
|
-
|
|
28
|
-
var _connectionIds = /*#__PURE__*/_classPrivateFieldLooseKey("connectionIds");
|
|
29
|
-
|
|
30
|
-
class WebSocketServer {
|
|
31
|
-
constructor(options, webSocketClients, sharedServer, v3Utils) {
|
|
32
|
-
Object.defineProperty(this, _options, {
|
|
33
|
-
writable: true,
|
|
34
|
-
value: null
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(this, _webSocketClients, {
|
|
37
|
-
writable: true,
|
|
38
|
-
value: null
|
|
39
|
-
});
|
|
40
|
-
Object.defineProperty(this, _connectionIds, {
|
|
41
|
-
writable: true,
|
|
42
|
-
value: new Map()
|
|
43
|
-
});
|
|
44
|
-
_classPrivateFieldLooseBase(this, _options)[_options] = options;
|
|
45
|
-
_classPrivateFieldLooseBase(this, _webSocketClients)[_webSocketClients] = webSocketClients;
|
|
46
|
-
|
|
47
|
-
if (v3Utils) {
|
|
48
|
-
this.log = v3Utils.log;
|
|
49
|
-
this.progress = v3Utils.progress;
|
|
50
|
-
this.writeText = v3Utils.writeText;
|
|
51
|
-
this.v3Utils = v3Utils;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const server = new _ws.Server({
|
|
55
|
-
server: sharedServer,
|
|
56
|
-
verifyClient: ({
|
|
57
|
-
req
|
|
58
|
-
}, cb) => {
|
|
59
|
-
const connectionId = (0, _index.createUniqueId)();
|
|
60
|
-
const key = req.headers['sec-websocket-key'];
|
|
61
|
-
|
|
62
|
-
if (this.log) {
|
|
63
|
-
this.log.debug(`verifyClient:${key} ${connectionId}`);
|
|
64
|
-
} else {
|
|
65
|
-
(0, _debugLog.default)(`verifyClient:${key} ${connectionId}`);
|
|
66
|
-
} // Use the websocket key to coorelate connection IDs
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
_classPrivateFieldLooseBase(this, _connectionIds)[_connectionIds][key] = connectionId;
|
|
70
|
-
|
|
71
|
-
_classPrivateFieldLooseBase(this, _webSocketClients)[_webSocketClients].verifyClient(connectionId, req).then(({
|
|
72
|
-
verified,
|
|
73
|
-
statusCode,
|
|
74
|
-
message,
|
|
75
|
-
headers
|
|
76
|
-
}) => {
|
|
77
|
-
try {
|
|
78
|
-
if (!verified) {
|
|
79
|
-
cb(false, statusCode, message, headers);
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
cb(true);
|
|
84
|
-
} catch (e) {
|
|
85
|
-
(0, _debugLog.default)(`Error verifying`, e);
|
|
86
|
-
cb(false);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
server.on('connection', (webSocketClient, request) => {
|
|
92
|
-
if (this.log) {
|
|
93
|
-
this.log.notice('received connection');
|
|
94
|
-
} else {
|
|
95
|
-
console.log('received connection');
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
const {
|
|
99
|
-
headers
|
|
100
|
-
} = request;
|
|
101
|
-
const key = headers['sec-websocket-key'];
|
|
102
|
-
|
|
103
|
-
const connectionId = _classPrivateFieldLooseBase(this, _connectionIds)[_connectionIds][key];
|
|
104
|
-
|
|
105
|
-
if (this.log) {
|
|
106
|
-
this.log.debug(`connect:${connectionId}`);
|
|
107
|
-
} else {
|
|
108
|
-
(0, _debugLog.default)(`connect:${connectionId}`);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
_classPrivateFieldLooseBase(this, _webSocketClients)[_webSocketClients].addClient(webSocketClient, connectionId);
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
async start() {
|
|
116
|
-
const {
|
|
117
|
-
host,
|
|
118
|
-
httpsProtocol,
|
|
119
|
-
websocketPort
|
|
120
|
-
} = _classPrivateFieldLooseBase(this, _options)[_options];
|
|
121
|
-
|
|
122
|
-
if (this.log) {
|
|
123
|
-
this.log.notice(`Offline [websocket] listening on ws${httpsProtocol ? 's' : ''}://${host}:${websocketPort}`);
|
|
124
|
-
} else {
|
|
125
|
-
(0, _serverlessLog.default)(`Offline [websocket] listening on ws${httpsProtocol ? 's' : ''}://${host}:${websocketPort}`);
|
|
126
|
-
}
|
|
127
|
-
} // no-op, we're re-using the http server
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
stop() {}
|
|
131
|
-
|
|
132
|
-
addRoute(functionKey, webSocketEvent) {
|
|
133
|
-
_classPrivateFieldLooseBase(this, _webSocketClients)[_webSocketClients].addRoute(functionKey, webSocketEvent); // serverlessLog(`route '${route}'`)
|
|
134
|
-
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
exports.default = WebSocketServer;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = catchAllRoute;
|
|
7
|
-
|
|
8
|
-
var _debugLog = _interopRequireDefault(require("../../../../debugLog.js"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
function catchAllRoute(v3Utils) {
|
|
13
|
-
const log = v3Utils && v3Utils.log;
|
|
14
|
-
return {
|
|
15
|
-
method: 'GET',
|
|
16
|
-
path: '/{path*}',
|
|
17
|
-
|
|
18
|
-
handler(request, h) {
|
|
19
|
-
const {
|
|
20
|
-
url
|
|
21
|
-
} = request;
|
|
22
|
-
|
|
23
|
-
if (log) {
|
|
24
|
-
log.debug(`got GET to ${url}`);
|
|
25
|
-
} else {
|
|
26
|
-
(0, _debugLog.default)(`got GET to ${url}`);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return h.response(null).code(426);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
};
|
|
33
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "default", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _catchAllRoute.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
var _catchAllRoute = _interopRequireDefault(require("./catchAllRoute.js"));
|
|
14
|
-
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
|
|
9
|
-
|
|
10
|
-
var id = 0;
|
|
11
|
-
|
|
12
|
-
function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
|
|
13
|
-
|
|
14
|
-
var _webSocketClients = /*#__PURE__*/_classPrivateFieldLooseKey("webSocketClients");
|
|
15
|
-
|
|
16
|
-
class ConnectionsController {
|
|
17
|
-
constructor(webSocketClients) {
|
|
18
|
-
Object.defineProperty(this, _webSocketClients, {
|
|
19
|
-
writable: true,
|
|
20
|
-
value: null
|
|
21
|
-
});
|
|
22
|
-
_classPrivateFieldLooseBase(this, _webSocketClients)[_webSocketClients] = webSocketClients;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
send(connectionId, payload) {
|
|
26
|
-
// TODO, is this correct?
|
|
27
|
-
if (!payload) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const clientExisted = _classPrivateFieldLooseBase(this, _webSocketClients)[_webSocketClients].send(connectionId, // payload is a Buffer
|
|
32
|
-
payload.toString('utf-8'));
|
|
33
|
-
|
|
34
|
-
return clientExisted;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
remove(connectionId) {
|
|
38
|
-
const clientExisted = _classPrivateFieldLooseBase(this, _webSocketClients)[_webSocketClients].close(connectionId);
|
|
39
|
-
|
|
40
|
-
return clientExisted;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
exports.default = ConnectionsController;
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = connectionsRoutes;
|
|
7
|
-
|
|
8
|
-
var _ConnectionsController = _interopRequireDefault(require("./ConnectionsController.js"));
|
|
9
|
-
|
|
10
|
-
var _debugLog = _interopRequireDefault(require("../../../../debugLog.js"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
function connectionsRoutes(webSocketClients, v3Utils) {
|
|
15
|
-
const log = v3Utils && v3Utils.log;
|
|
16
|
-
const connectionsController = new _ConnectionsController.default(webSocketClients);
|
|
17
|
-
return [{
|
|
18
|
-
method: 'POST',
|
|
19
|
-
options: {
|
|
20
|
-
payload: {
|
|
21
|
-
parse: false
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
path: '/@connections/{connectionId}',
|
|
25
|
-
|
|
26
|
-
async handler(request, h) {
|
|
27
|
-
const {
|
|
28
|
-
params: {
|
|
29
|
-
connectionId
|
|
30
|
-
},
|
|
31
|
-
payload,
|
|
32
|
-
url
|
|
33
|
-
} = request;
|
|
34
|
-
|
|
35
|
-
if (log) {
|
|
36
|
-
log.debug(`got POST to ${url}`);
|
|
37
|
-
} else {
|
|
38
|
-
(0, _debugLog.default)(`got POST to ${url}`);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const clientExisted = await connectionsController.send(connectionId, payload);
|
|
42
|
-
|
|
43
|
-
if (!clientExisted) {
|
|
44
|
-
return h.response(null).code(410);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (log) {
|
|
48
|
-
log.debug(`sent data to connection:${connectionId}`);
|
|
49
|
-
} else {
|
|
50
|
-
(0, _debugLog.default)(`sent data to connection:${connectionId}`);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
}, {
|
|
57
|
-
method: 'DELETE',
|
|
58
|
-
options: {
|
|
59
|
-
payload: {
|
|
60
|
-
parse: false
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
path: '/@connections/{connectionId}',
|
|
64
|
-
|
|
65
|
-
handler(request, h) {
|
|
66
|
-
const {
|
|
67
|
-
params: {
|
|
68
|
-
connectionId
|
|
69
|
-
},
|
|
70
|
-
url
|
|
71
|
-
} = request;
|
|
72
|
-
|
|
73
|
-
if (log) {
|
|
74
|
-
log.debug(`got DELETE to ${url}`);
|
|
75
|
-
} else {
|
|
76
|
-
(0, _debugLog.default)(`got DELETE to ${url}`);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
const clientExisted = connectionsController.remove(connectionId);
|
|
80
|
-
|
|
81
|
-
if (!clientExisted) {
|
|
82
|
-
return h.response(null).code(410);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
if (log) {
|
|
86
|
-
log.debug(`closed connection:${connectionId}`);
|
|
87
|
-
} else {
|
|
88
|
-
(0, _debugLog.default)(`closed connection:${connectionId}`);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return h.response(null).code(204);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
}];
|
|
95
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "default", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _connectionsRoutes.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
var _connectionsRoutes = _interopRequireDefault(require("./connectionsRoutes.js"));
|
|
14
|
-
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "catchAllRoute", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _index.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "connectionsRoutes", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _index2.default;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
var _index = _interopRequireDefault(require("./_catchAll/index.js"));
|
|
20
|
-
|
|
21
|
-
var _index2 = _interopRequireDefault(require("./connections/index.js"));
|
|
22
|
-
|
|
23
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "default", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _WebSocket.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
var _WebSocket = _interopRequireDefault(require("./WebSocket.js"));
|
|
14
|
-
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _WebSocketRequestContext = _interopRequireDefault(require("./WebSocketRequestContext.js"));
|
|
9
|
-
|
|
10
|
-
var _index = require("../../../utils/index.js");
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
|
|
15
|
-
|
|
16
|
-
var id = 0;
|
|
17
|
-
|
|
18
|
-
function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
|
|
19
|
-
|
|
20
|
-
var _connectionId = /*#__PURE__*/_classPrivateFieldLooseKey("connectionId");
|
|
21
|
-
|
|
22
|
-
var _httpsProtocol = /*#__PURE__*/_classPrivateFieldLooseKey("httpsProtocol");
|
|
23
|
-
|
|
24
|
-
var _rawHeaders = /*#__PURE__*/_classPrivateFieldLooseKey("rawHeaders");
|
|
25
|
-
|
|
26
|
-
var _url = /*#__PURE__*/_classPrivateFieldLooseKey("url");
|
|
27
|
-
|
|
28
|
-
var _websocketPort = /*#__PURE__*/_classPrivateFieldLooseKey("websocketPort");
|
|
29
|
-
|
|
30
|
-
var _provider = /*#__PURE__*/_classPrivateFieldLooseKey("provider");
|
|
31
|
-
|
|
32
|
-
class WebSocketAuthorizerEvent {
|
|
33
|
-
constructor(connectionId, request, provider, options) {
|
|
34
|
-
Object.defineProperty(this, _connectionId, {
|
|
35
|
-
writable: true,
|
|
36
|
-
value: null
|
|
37
|
-
});
|
|
38
|
-
Object.defineProperty(this, _httpsProtocol, {
|
|
39
|
-
writable: true,
|
|
40
|
-
value: null
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(this, _rawHeaders, {
|
|
43
|
-
writable: true,
|
|
44
|
-
value: null
|
|
45
|
-
});
|
|
46
|
-
Object.defineProperty(this, _url, {
|
|
47
|
-
writable: true,
|
|
48
|
-
value: null
|
|
49
|
-
});
|
|
50
|
-
Object.defineProperty(this, _websocketPort, {
|
|
51
|
-
writable: true,
|
|
52
|
-
value: null
|
|
53
|
-
});
|
|
54
|
-
Object.defineProperty(this, _provider, {
|
|
55
|
-
writable: true,
|
|
56
|
-
value: null
|
|
57
|
-
});
|
|
58
|
-
const {
|
|
59
|
-
httpsProtocol,
|
|
60
|
-
websocketPort
|
|
61
|
-
} = options;
|
|
62
|
-
const {
|
|
63
|
-
rawHeaders,
|
|
64
|
-
url
|
|
65
|
-
} = request;
|
|
66
|
-
_classPrivateFieldLooseBase(this, _connectionId)[_connectionId] = connectionId;
|
|
67
|
-
_classPrivateFieldLooseBase(this, _httpsProtocol)[_httpsProtocol] = httpsProtocol;
|
|
68
|
-
_classPrivateFieldLooseBase(this, _rawHeaders)[_rawHeaders] = rawHeaders;
|
|
69
|
-
_classPrivateFieldLooseBase(this, _url)[_url] = url;
|
|
70
|
-
_classPrivateFieldLooseBase(this, _websocketPort)[_websocketPort] = websocketPort;
|
|
71
|
-
_classPrivateFieldLooseBase(this, _provider)[_provider] = provider;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
create() {
|
|
75
|
-
const headers = (0, _index.parseHeaders)(_classPrivateFieldLooseBase(this, _rawHeaders)[_rawHeaders]);
|
|
76
|
-
const multiValueHeaders = (0, _index.parseMultiValueHeaders)(_classPrivateFieldLooseBase(this, _rawHeaders)[_rawHeaders]);
|
|
77
|
-
const multiValueQueryStringParameters = (0, _index.parseMultiValueQueryStringParameters)(_classPrivateFieldLooseBase(this, _url)[_url]);
|
|
78
|
-
const queryStringParameters = (0, _index.parseQueryStringParameters)(_classPrivateFieldLooseBase(this, _url)[_url]);
|
|
79
|
-
const requestContext = new _WebSocketRequestContext.default('CONNECT', '$connect', _classPrivateFieldLooseBase(this, _connectionId)[_connectionId]).create();
|
|
80
|
-
return {
|
|
81
|
-
type: 'REQUEST',
|
|
82
|
-
methodArn: `arn:aws:execute-api:${_classPrivateFieldLooseBase(this, _provider)[_provider].region}:${requestContext.accountId}:${requestContext.apiId}/${requestContext.stage}/${requestContext.routeKey}`,
|
|
83
|
-
headers,
|
|
84
|
-
multiValueHeaders,
|
|
85
|
-
// NOTE: multiValueQueryStringParameters and queryStringParameters
|
|
86
|
-
// properties are only defined if they have values
|
|
87
|
-
...(multiValueQueryStringParameters && {
|
|
88
|
-
multiValueQueryStringParameters
|
|
89
|
-
}),
|
|
90
|
-
...(queryStringParameters && {
|
|
91
|
-
queryStringParameters
|
|
92
|
-
}),
|
|
93
|
-
requestContext
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
exports.default = WebSocketAuthorizerEvent;
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _WebSocketRequestContext = _interopRequireDefault(require("./WebSocketRequestContext.js"));
|
|
9
|
-
|
|
10
|
-
var _index = require("../../../utils/index.js");
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
|
|
15
|
-
|
|
16
|
-
var id = 0;
|
|
17
|
-
|
|
18
|
-
function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
|
|
19
|
-
|
|
20
|
-
var _connectionId = /*#__PURE__*/_classPrivateFieldLooseKey("connectionId");
|
|
21
|
-
|
|
22
|
-
var _httpsProtocol = /*#__PURE__*/_classPrivateFieldLooseKey("httpsProtocol");
|
|
23
|
-
|
|
24
|
-
var _rawHeaders = /*#__PURE__*/_classPrivateFieldLooseKey("rawHeaders");
|
|
25
|
-
|
|
26
|
-
var _url = /*#__PURE__*/_classPrivateFieldLooseKey("url");
|
|
27
|
-
|
|
28
|
-
var _websocketPort = /*#__PURE__*/_classPrivateFieldLooseKey("websocketPort");
|
|
29
|
-
|
|
30
|
-
class WebSocketConnectEvent {
|
|
31
|
-
constructor(connectionId, request, options) {
|
|
32
|
-
Object.defineProperty(this, _connectionId, {
|
|
33
|
-
writable: true,
|
|
34
|
-
value: null
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(this, _httpsProtocol, {
|
|
37
|
-
writable: true,
|
|
38
|
-
value: null
|
|
39
|
-
});
|
|
40
|
-
Object.defineProperty(this, _rawHeaders, {
|
|
41
|
-
writable: true,
|
|
42
|
-
value: null
|
|
43
|
-
});
|
|
44
|
-
Object.defineProperty(this, _url, {
|
|
45
|
-
writable: true,
|
|
46
|
-
value: null
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(this, _websocketPort, {
|
|
49
|
-
writable: true,
|
|
50
|
-
value: null
|
|
51
|
-
});
|
|
52
|
-
const {
|
|
53
|
-
httpsProtocol,
|
|
54
|
-
websocketPort
|
|
55
|
-
} = options;
|
|
56
|
-
const {
|
|
57
|
-
rawHeaders,
|
|
58
|
-
url
|
|
59
|
-
} = request;
|
|
60
|
-
_classPrivateFieldLooseBase(this, _connectionId)[_connectionId] = connectionId;
|
|
61
|
-
_classPrivateFieldLooseBase(this, _httpsProtocol)[_httpsProtocol] = httpsProtocol;
|
|
62
|
-
_classPrivateFieldLooseBase(this, _rawHeaders)[_rawHeaders] = rawHeaders;
|
|
63
|
-
_classPrivateFieldLooseBase(this, _url)[_url] = url;
|
|
64
|
-
_classPrivateFieldLooseBase(this, _websocketPort)[_websocketPort] = websocketPort;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
create() {
|
|
68
|
-
// const headers = {
|
|
69
|
-
// Host: 'localhost',
|
|
70
|
-
// 'Sec-WebSocket-Extensions': 'permessage-deflate; client_max_window_bits',
|
|
71
|
-
// 'Sec-WebSocket-Key': createUniqueId(),
|
|
72
|
-
// 'Sec-WebSocket-Version': '13',
|
|
73
|
-
// 'X-Amzn-Trace-Id': `Root=${createUniqueId()}`,
|
|
74
|
-
// 'X-Forwarded-For': '127.0.0.1',
|
|
75
|
-
// 'X-Forwarded-Port': String(this.#websocketPort),
|
|
76
|
-
// 'X-Forwarded-Proto': `http${this.#httpsProtocol ? 's' : ''}`,
|
|
77
|
-
// }
|
|
78
|
-
const headers = (0, _index.parseHeaders)(_classPrivateFieldLooseBase(this, _rawHeaders)[_rawHeaders]);
|
|
79
|
-
const multiValueHeaders = (0, _index.parseMultiValueHeaders)(_classPrivateFieldLooseBase(this, _rawHeaders)[_rawHeaders]);
|
|
80
|
-
const multiValueQueryStringParameters = (0, _index.parseMultiValueQueryStringParameters)(_classPrivateFieldLooseBase(this, _url)[_url]);
|
|
81
|
-
const queryStringParameters = (0, _index.parseQueryStringParameters)(_classPrivateFieldLooseBase(this, _url)[_url]);
|
|
82
|
-
const requestContext = new _WebSocketRequestContext.default('CONNECT', '$connect', _classPrivateFieldLooseBase(this, _connectionId)[_connectionId]).create();
|
|
83
|
-
return {
|
|
84
|
-
headers,
|
|
85
|
-
isBase64Encoded: false,
|
|
86
|
-
multiValueHeaders,
|
|
87
|
-
// NOTE: multiValueQueryStringParameters and queryStringParameters
|
|
88
|
-
// properties are only defined if they have values
|
|
89
|
-
...(multiValueQueryStringParameters && {
|
|
90
|
-
multiValueQueryStringParameters
|
|
91
|
-
}),
|
|
92
|
-
...(queryStringParameters && {
|
|
93
|
-
queryStringParameters
|
|
94
|
-
}),
|
|
95
|
-
requestContext
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
exports.default = WebSocketConnectEvent;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _WebSocketRequestContext = _interopRequireDefault(require("./WebSocketRequestContext.js"));
|
|
9
|
-
|
|
10
|
-
var _index = require("../../../utils/index.js");
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
|
|
15
|
-
|
|
16
|
-
var id = 0;
|
|
17
|
-
|
|
18
|
-
function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
|
|
19
|
-
|
|
20
|
-
var _connectionId = /*#__PURE__*/_classPrivateFieldLooseKey("connectionId");
|
|
21
|
-
|
|
22
|
-
class WebSocketDisconnectEvent {
|
|
23
|
-
constructor(connectionId) {
|
|
24
|
-
Object.defineProperty(this, _connectionId, {
|
|
25
|
-
writable: true,
|
|
26
|
-
value: null
|
|
27
|
-
});
|
|
28
|
-
_classPrivateFieldLooseBase(this, _connectionId)[_connectionId] = connectionId;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
create() {
|
|
32
|
-
// TODO FIXME not sure where the headers come from
|
|
33
|
-
const rawHeaders = ['Host', 'localhost', 'x-api-key', '', 'x-restapi', ''];
|
|
34
|
-
const headers = (0, _index.parseHeaders)(rawHeaders);
|
|
35
|
-
const multiValueHeaders = (0, _index.parseMultiValueHeaders)(rawHeaders);
|
|
36
|
-
const requestContext = new _WebSocketRequestContext.default('DISCONNECT', '$disconnect', _classPrivateFieldLooseBase(this, _connectionId)[_connectionId]).create();
|
|
37
|
-
return {
|
|
38
|
-
headers,
|
|
39
|
-
isBase64Encoded: false,
|
|
40
|
-
multiValueHeaders,
|
|
41
|
-
requestContext
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
exports.default = WebSocketDisconnectEvent;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _WebSocketRequestContext = _interopRequireDefault(require("./WebSocketRequestContext.js"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
|
|
13
|
-
|
|
14
|
-
var id = 0;
|
|
15
|
-
|
|
16
|
-
function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
|
|
17
|
-
|
|
18
|
-
var _connectionId = /*#__PURE__*/_classPrivateFieldLooseKey("connectionId");
|
|
19
|
-
|
|
20
|
-
var _payload = /*#__PURE__*/_classPrivateFieldLooseKey("payload");
|
|
21
|
-
|
|
22
|
-
var _route = /*#__PURE__*/_classPrivateFieldLooseKey("route");
|
|
23
|
-
|
|
24
|
-
class WebSocketEvent {
|
|
25
|
-
constructor(connectionId, route, payload) {
|
|
26
|
-
Object.defineProperty(this, _connectionId, {
|
|
27
|
-
writable: true,
|
|
28
|
-
value: null
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(this, _payload, {
|
|
31
|
-
writable: true,
|
|
32
|
-
value: null
|
|
33
|
-
});
|
|
34
|
-
Object.defineProperty(this, _route, {
|
|
35
|
-
writable: true,
|
|
36
|
-
value: null
|
|
37
|
-
});
|
|
38
|
-
_classPrivateFieldLooseBase(this, _connectionId)[_connectionId] = connectionId;
|
|
39
|
-
_classPrivateFieldLooseBase(this, _payload)[_payload] = payload;
|
|
40
|
-
_classPrivateFieldLooseBase(this, _route)[_route] = route;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
create() {
|
|
44
|
-
const requestContext = new _WebSocketRequestContext.default('MESSAGE', _classPrivateFieldLooseBase(this, _route)[_route], _classPrivateFieldLooseBase(this, _connectionId)[_connectionId]).create();
|
|
45
|
-
return {
|
|
46
|
-
body: _classPrivateFieldLooseBase(this, _payload)[_payload],
|
|
47
|
-
isBase64Encoded: false,
|
|
48
|
-
requestContext
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
exports.default = WebSocketEvent;
|