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,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 _invocationsRoute.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
var _invocationsRoute = _interopRequireDefault(require("./invocationsRoute.js"));
|
|
14
|
-
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = invocationsRoute;
|
|
7
|
-
|
|
8
|
-
var _buffer = require("buffer");
|
|
9
|
-
|
|
10
|
-
var _nodeFetch = require("node-fetch");
|
|
11
|
-
|
|
12
|
-
var _InvocationsController = _interopRequireDefault(require("./InvocationsController.js"));
|
|
13
|
-
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
|
-
const {
|
|
17
|
-
parse
|
|
18
|
-
} = JSON; // https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html
|
|
19
|
-
|
|
20
|
-
function invocationsRoute(lambda, options, v3Utils) {
|
|
21
|
-
const invocationsController = new _InvocationsController.default(lambda, v3Utils);
|
|
22
|
-
return {
|
|
23
|
-
async handler(request, h) {
|
|
24
|
-
const {
|
|
25
|
-
headers,
|
|
26
|
-
params: {
|
|
27
|
-
functionName
|
|
28
|
-
},
|
|
29
|
-
payload
|
|
30
|
-
} = request;
|
|
31
|
-
|
|
32
|
-
const _headers = new _nodeFetch.Headers(headers);
|
|
33
|
-
|
|
34
|
-
const clientContextHeader = _headers.get('x-amz-client-context');
|
|
35
|
-
|
|
36
|
-
const invocationType = _headers.get('x-amz-invocation-type'); // default is undefined
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
let clientContext; // check client context header was set
|
|
40
|
-
|
|
41
|
-
if (clientContextHeader) {
|
|
42
|
-
const clientContextBuffer = _buffer.Buffer.from(clientContextHeader, 'base64');
|
|
43
|
-
|
|
44
|
-
clientContext = parse(clientContextBuffer.toString('utf-8'));
|
|
45
|
-
} // check if payload was set, if not, default event is an empty object
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const event = payload.length > 0 ? parse(payload.toString('utf-8')) : {};
|
|
49
|
-
const invokeResults = await invocationsController.invoke(functionName, invocationType, event, clientContext); // Return with correct status codes
|
|
50
|
-
|
|
51
|
-
let resultPayload = '';
|
|
52
|
-
let statusCode = 200;
|
|
53
|
-
let functionError = null;
|
|
54
|
-
|
|
55
|
-
if (invokeResults) {
|
|
56
|
-
const isPayloadDefined = typeof invokeResults.Payload !== 'undefined';
|
|
57
|
-
resultPayload = isPayloadDefined ? invokeResults.Payload : '';
|
|
58
|
-
statusCode = invokeResults.StatusCode || 200;
|
|
59
|
-
functionError = invokeResults.FunctionError || null;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const response = h.response(resultPayload).code(statusCode);
|
|
63
|
-
|
|
64
|
-
if (functionError) {
|
|
65
|
-
// AWS Invoke documentation is wrong. The header for error type is
|
|
66
|
-
// 'x-amzn-ErrorType' in production, not 'X-Amz-Function-Error'
|
|
67
|
-
response.header('x-amzn-ErrorType', functionError);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (invokeResults && invokeResults.UnhandledError) {
|
|
71
|
-
response.header('X-Amz-Function-Error', 'Unhandled');
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return response;
|
|
75
|
-
},
|
|
76
|
-
|
|
77
|
-
method: 'POST',
|
|
78
|
-
options: {
|
|
79
|
-
payload: {
|
|
80
|
-
// allow: ['binary/octet-stream'],
|
|
81
|
-
defaultContentType: 'binary/octet-stream',
|
|
82
|
-
// request.payload will be a raw buffer
|
|
83
|
-
parse: false
|
|
84
|
-
},
|
|
85
|
-
cors: options.corsConfig,
|
|
86
|
-
tags: ['api']
|
|
87
|
-
},
|
|
88
|
-
path: '/2015-03-31/functions/{functionName}/invocations'
|
|
89
|
-
};
|
|
90
|
-
}
|
|
@@ -1,38 +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 _lambda = /*#__PURE__*/_classPrivateFieldLooseKey("lambda");
|
|
15
|
-
|
|
16
|
-
class InvokeAsyncController {
|
|
17
|
-
constructor(lambda) {
|
|
18
|
-
Object.defineProperty(this, _lambda, {
|
|
19
|
-
writable: true,
|
|
20
|
-
value: null
|
|
21
|
-
});
|
|
22
|
-
_classPrivateFieldLooseBase(this, _lambda)[_lambda] = lambda;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
async invokeAsync(functionName, event) {
|
|
26
|
-
const lambdaFunction = _classPrivateFieldLooseBase(this, _lambda)[_lambda].getByFunctionName(functionName);
|
|
27
|
-
|
|
28
|
-
lambdaFunction.setEvent(event); // don't await result!
|
|
29
|
-
|
|
30
|
-
lambdaFunction.runHandler();
|
|
31
|
-
return {
|
|
32
|
-
StatusCode: 202
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
exports.default = InvokeAsyncController;
|
|
@@ -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 _invokeAsyncRoute.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
var _invokeAsyncRoute = _interopRequireDefault(require("./invokeAsyncRoute.js"));
|
|
14
|
-
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = invokeRoute;
|
|
7
|
-
|
|
8
|
-
var _InvokeAsyncController = _interopRequireDefault(require("./InvokeAsyncController.js"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
const {
|
|
13
|
-
parse
|
|
14
|
-
} = JSON; // https://docs.aws.amazon.com/lambda/latest/dg/API_InvokeAsync.html
|
|
15
|
-
|
|
16
|
-
function invokeRoute(lambda, options) {
|
|
17
|
-
const invokeAsyncController = new _InvokeAsyncController.default(lambda);
|
|
18
|
-
return {
|
|
19
|
-
handler(request) {
|
|
20
|
-
const {
|
|
21
|
-
params: {
|
|
22
|
-
functionName
|
|
23
|
-
},
|
|
24
|
-
payload
|
|
25
|
-
} = request;
|
|
26
|
-
const event = parse(payload.toString('utf-8'));
|
|
27
|
-
return invokeAsyncController.invokeAsync(functionName, event);
|
|
28
|
-
},
|
|
29
|
-
|
|
30
|
-
method: 'POST',
|
|
31
|
-
options: {
|
|
32
|
-
payload: {
|
|
33
|
-
// allow: ['binary/octet-stream'],
|
|
34
|
-
defaultContentType: 'binary/octet-stream',
|
|
35
|
-
// request.payload will be a raw buffer
|
|
36
|
-
parse: false
|
|
37
|
-
},
|
|
38
|
-
cors: options.corsConfig,
|
|
39
|
-
tags: ['api']
|
|
40
|
-
},
|
|
41
|
-
path: '/2014-11-13/functions/{functionName}/invoke-async/'
|
|
42
|
-
};
|
|
43
|
-
}
|
package/dist/main.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
'use strict'; // UNCOMMENT FOR DEVELOPMENT:
|
|
2
|
-
//
|
|
3
|
-
// const { resolve } = require('path')
|
|
4
|
-
//
|
|
5
|
-
// // eslint-disable-next-line import/no-extraneous-dependencies
|
|
6
|
-
// require('@babel/register')({
|
|
7
|
-
// configFile: resolve(__dirname, '../babel.config.js'),
|
|
8
|
-
// ignore: [/node_modules/],
|
|
9
|
-
// })
|
|
10
|
-
|
|
11
|
-
module.exports = require('./index.js').default;
|
package/dist/serverlessLog.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = serverlessLog;
|
|
7
|
-
exports.logLayers = logLayers;
|
|
8
|
-
exports.logRoutes = logRoutes;
|
|
9
|
-
exports.logWarning = logWarning;
|
|
10
|
-
exports.setLog = setLog;
|
|
11
|
-
|
|
12
|
-
var _boxen = _interopRequireDefault(require("boxen"));
|
|
13
|
-
|
|
14
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
|
-
const {
|
|
19
|
-
max
|
|
20
|
-
} = Math;
|
|
21
|
-
|
|
22
|
-
const blue = _chalk.default.keyword('dodgerblue');
|
|
23
|
-
|
|
24
|
-
const grey = _chalk.default.keyword('grey');
|
|
25
|
-
|
|
26
|
-
const lime = _chalk.default.keyword('lime');
|
|
27
|
-
|
|
28
|
-
const orange = _chalk.default.keyword('orange');
|
|
29
|
-
|
|
30
|
-
const peachpuff = _chalk.default.keyword('peachpuff');
|
|
31
|
-
|
|
32
|
-
const plum = _chalk.default.keyword('plum');
|
|
33
|
-
|
|
34
|
-
const red = _chalk.default.keyword('red');
|
|
35
|
-
|
|
36
|
-
const yellow = _chalk.default.keyword('yellow');
|
|
37
|
-
|
|
38
|
-
const colorMethodMapping = new Map([['DELETE', red], ['GET', blue], // ['HEAD', ...],
|
|
39
|
-
['PATCH', orange], ['POST', plum], ['PUT', blue]]);
|
|
40
|
-
let log;
|
|
41
|
-
|
|
42
|
-
function serverlessLog(msg) {
|
|
43
|
-
if (log) {
|
|
44
|
-
log(msg, 'offline');
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function logLayers(msg) {
|
|
49
|
-
console.log(`offline: ${blue(msg)}`);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function setLog(serverlessLogRef) {
|
|
53
|
-
log = serverlessLogRef;
|
|
54
|
-
} // logs based on:
|
|
55
|
-
// https://github.com/serverless/serverless/blob/master/lib/classes/CLI.js
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
function logRoute(method, server, path, maxLength, dimPath = false) {
|
|
59
|
-
var _colorMethodMapping$g;
|
|
60
|
-
|
|
61
|
-
const methodColor = (_colorMethodMapping$g = colorMethodMapping.get(method)) !== null && _colorMethodMapping$g !== void 0 ? _colorMethodMapping$g : peachpuff;
|
|
62
|
-
const methodFormatted = method.padEnd(maxLength, ' ');
|
|
63
|
-
return `${methodColor(methodFormatted)} ${yellow.dim('|')} ${grey.dim(server)}${dimPath ? grey.dim(path) : lime(path)}`;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function getMaxHttpMethodNameLength(routeInfo) {
|
|
67
|
-
return max(...routeInfo.map(({
|
|
68
|
-
method
|
|
69
|
-
}) => method.length));
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function logRoutes(routeInfo) {
|
|
73
|
-
const boxenOptions = {
|
|
74
|
-
borderColor: 'yellow',
|
|
75
|
-
dimBorder: true,
|
|
76
|
-
margin: 1,
|
|
77
|
-
padding: 1
|
|
78
|
-
};
|
|
79
|
-
const maxLength = getMaxHttpMethodNameLength(routeInfo);
|
|
80
|
-
console.log((0, _boxen.default)(routeInfo.map(({
|
|
81
|
-
method,
|
|
82
|
-
path,
|
|
83
|
-
server,
|
|
84
|
-
invokePath
|
|
85
|
-
}) => // eslint-disable-next-line prefer-template
|
|
86
|
-
logRoute(method, server, path, maxLength) + '\n' + logRoute('POST', server, invokePath, maxLength, true)).join('\n'), boxenOptions));
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
function logWarning(msg) {
|
|
90
|
-
console.log(`offline: ${red(msg)}`);
|
|
91
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = checkDockerDaemon;
|
|
7
|
-
|
|
8
|
-
var _execa = _interopRequireDefault(require("execa"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
async function checkDockerDaemon() {
|
|
13
|
-
let dockerServerOS;
|
|
14
|
-
|
|
15
|
-
try {
|
|
16
|
-
const {
|
|
17
|
-
stdout
|
|
18
|
-
} = await (0, _execa.default)('docker', ['version', '--format', '{{.Server.Os}}']);
|
|
19
|
-
dockerServerOS = stdout;
|
|
20
|
-
} catch (err) {
|
|
21
|
-
throw new Error('The docker daemon is not running.');
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (dockerServerOS !== 'linux') {
|
|
25
|
-
throw new Error('Please switch docker daemon to linux mode.');
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = checkGoVersion;
|
|
7
|
-
|
|
8
|
-
var _execa = _interopRequireDefault(require("execa"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
async function checkGoVersion() {
|
|
13
|
-
let goVersion;
|
|
14
|
-
|
|
15
|
-
try {
|
|
16
|
-
const {
|
|
17
|
-
stdout
|
|
18
|
-
} = await (0, _execa.default)('go', ['version']);
|
|
19
|
-
|
|
20
|
-
if (stdout.match(/go1.\d+/g)) {
|
|
21
|
-
goVersion = '1.x';
|
|
22
|
-
}
|
|
23
|
-
} catch (err) {// @ignore
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return goVersion;
|
|
27
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = createUniqueId;
|
|
7
|
-
|
|
8
|
-
var _cuid = _interopRequireDefault(require("cuid"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
function createUniqueId() {
|
|
13
|
-
return (0, _cuid.default)();
|
|
14
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = detectExecutable;
|
|
7
|
-
|
|
8
|
-
var _execa = _interopRequireDefault(require("execa"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
async function detectExecutable(exe, versionFlag = '--version') {
|
|
13
|
-
try {
|
|
14
|
-
const {
|
|
15
|
-
failed
|
|
16
|
-
} = await (0, _execa.default)(exe, [versionFlag]);
|
|
17
|
-
return failed === false;
|
|
18
|
-
} catch (err) {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = generateHapiPath;
|
|
7
|
-
|
|
8
|
-
function generateHapiPath(path, options, serverless) {
|
|
9
|
-
// path must start with '/'
|
|
10
|
-
let hapiPath = path.startsWith('/') ? path : `/${path}`;
|
|
11
|
-
|
|
12
|
-
if (!options.noPrependStageInUrl) {
|
|
13
|
-
const stage = options.stage || serverless.service.provider.stage; // prepend the stage to path
|
|
14
|
-
|
|
15
|
-
hapiPath = `/${stage}${hapiPath}`;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
if (options.prefix) {
|
|
19
|
-
hapiPath = `/${options.prefix}${hapiPath}`;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
if (hapiPath !== '/' && hapiPath.endsWith('/') && (!options.noStripTrailingSlashInUrl || hapiPath.endsWith('+}/'))) {
|
|
23
|
-
hapiPath = hapiPath.slice(0, -1);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
hapiPath = hapiPath.replace(/\+}/g, '*}');
|
|
27
|
-
return hapiPath;
|
|
28
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = getHttpApiCorsConfig;
|
|
7
|
-
|
|
8
|
-
var _debugLog = _interopRequireDefault(require("../debugLog.js"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
function getHttpApiCorsConfig(httpApiCors, {
|
|
13
|
-
log
|
|
14
|
-
}) {
|
|
15
|
-
if (httpApiCors === true) {
|
|
16
|
-
// default values that should be set by serverless
|
|
17
|
-
// https://www.serverless.com/framework/docs/providers/aws/events/http-api/
|
|
18
|
-
const c = {
|
|
19
|
-
allowedOrigins: ['*'],
|
|
20
|
-
allowedHeaders: ['Content-Type', 'X-Amz-Date', 'Authorization', 'X-Api-Key', 'X-Amz-Security-Token', 'X-Amz-User-Agent'],
|
|
21
|
-
allowedMethods: ['OPTIONS', 'GET', 'POST', 'PUT', 'DELETE', 'PATCH']
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
if (log) {
|
|
25
|
-
log.debug('Using CORS policy', c);
|
|
26
|
-
} else {
|
|
27
|
-
(0, _debugLog.default)('Using CORS policy', c);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return c;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (log) {
|
|
34
|
-
log.debug('Using CORS policy', httpApiCors);
|
|
35
|
-
} else {
|
|
36
|
-
(0, _debugLog.default)('Using CORS policy', httpApiCors);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return httpApiCors;
|
|
40
|
-
}
|
package/dist/utils/index.js
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "checkDockerDaemon", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _checkDockerDaemon.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "checkGoVersion", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _checkGoVersion.default;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "createApiKey", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return _createApiKey.default;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "createUniqueId", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
-
return _createUniqueId.default;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
exports.detectEncoding = detectEncoding;
|
|
31
|
-
Object.defineProperty(exports, "detectExecutable", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
get: function () {
|
|
34
|
-
return _detectExecutable.default;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
Object.defineProperty(exports, "formatToClfTime", {
|
|
38
|
-
enumerable: true,
|
|
39
|
-
get: function () {
|
|
40
|
-
return _formatToClfTime.default;
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
Object.defineProperty(exports, "generateHapiPath", {
|
|
44
|
-
enumerable: true,
|
|
45
|
-
get: function () {
|
|
46
|
-
return _generateHapiPath.default;
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
Object.defineProperty(exports, "getHttpApiCorsConfig", {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
get: function () {
|
|
52
|
-
return _getHttpApiCorsConfig.default;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
exports.isPlainObject = isPlainObject;
|
|
56
|
-
Object.defineProperty(exports, "jsonPath", {
|
|
57
|
-
enumerable: true,
|
|
58
|
-
get: function () {
|
|
59
|
-
return _jsonPath.default;
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
Object.defineProperty(exports, "lowerCaseKeys", {
|
|
63
|
-
enumerable: true,
|
|
64
|
-
get: function () {
|
|
65
|
-
return _lowerCaseKeys.default;
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
exports.nullIfEmpty = nullIfEmpty;
|
|
69
|
-
Object.defineProperty(exports, "parseHeaders", {
|
|
70
|
-
enumerable: true,
|
|
71
|
-
get: function () {
|
|
72
|
-
return _parseHeaders.default;
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
Object.defineProperty(exports, "parseMultiValueHeaders", {
|
|
76
|
-
enumerable: true,
|
|
77
|
-
get: function () {
|
|
78
|
-
return _parseMultiValueHeaders.default;
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
Object.defineProperty(exports, "parseMultiValueQueryStringParameters", {
|
|
82
|
-
enumerable: true,
|
|
83
|
-
get: function () {
|
|
84
|
-
return _parseMultiValueQueryStringParameters.default;
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
Object.defineProperty(exports, "parseQueryStringParameters", {
|
|
88
|
-
enumerable: true,
|
|
89
|
-
get: function () {
|
|
90
|
-
return _parseQueryStringParameters.default;
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
Object.defineProperty(exports, "satisfiesVersionRange", {
|
|
94
|
-
enumerable: true,
|
|
95
|
-
get: function () {
|
|
96
|
-
return _satisfiesVersionRange.default;
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
Object.defineProperty(exports, "splitHandlerPathAndName", {
|
|
100
|
-
enumerable: true,
|
|
101
|
-
get: function () {
|
|
102
|
-
return _splitHandlerPathAndName.default;
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
exports.toPlainOrEmptyObject = toPlainOrEmptyObject;
|
|
106
|
-
|
|
107
|
-
var _createApiKey = _interopRequireDefault(require("./createApiKey.js"));
|
|
108
|
-
|
|
109
|
-
var _createUniqueId = _interopRequireDefault(require("./createUniqueId.js"));
|
|
110
|
-
|
|
111
|
-
var _detectExecutable = _interopRequireDefault(require("./detectExecutable.js"));
|
|
112
|
-
|
|
113
|
-
var _formatToClfTime = _interopRequireDefault(require("./formatToClfTime.js"));
|
|
114
|
-
|
|
115
|
-
var _getHttpApiCorsConfig = _interopRequireDefault(require("./getHttpApiCorsConfig.js"));
|
|
116
|
-
|
|
117
|
-
var _jsonPath = _interopRequireDefault(require("./jsonPath.js"));
|
|
118
|
-
|
|
119
|
-
var _lowerCaseKeys = _interopRequireDefault(require("./lowerCaseKeys.js"));
|
|
120
|
-
|
|
121
|
-
var _parseHeaders = _interopRequireDefault(require("./parseHeaders.js"));
|
|
122
|
-
|
|
123
|
-
var _parseMultiValueHeaders = _interopRequireDefault(require("./parseMultiValueHeaders.js"));
|
|
124
|
-
|
|
125
|
-
var _parseMultiValueQueryStringParameters = _interopRequireDefault(require("./parseMultiValueQueryStringParameters.js"));
|
|
126
|
-
|
|
127
|
-
var _parseQueryStringParameters = _interopRequireDefault(require("./parseQueryStringParameters.js"));
|
|
128
|
-
|
|
129
|
-
var _satisfiesVersionRange = _interopRequireDefault(require("./satisfiesVersionRange.js"));
|
|
130
|
-
|
|
131
|
-
var _splitHandlerPathAndName = _interopRequireDefault(require("./splitHandlerPathAndName.js"));
|
|
132
|
-
|
|
133
|
-
var _checkDockerDaemon = _interopRequireDefault(require("./checkDockerDaemon.js"));
|
|
134
|
-
|
|
135
|
-
var _checkGoVersion = _interopRequireDefault(require("./checkGoVersion.js"));
|
|
136
|
-
|
|
137
|
-
var _generateHapiPath = _interopRequireDefault(require("./generateHapiPath.js"));
|
|
138
|
-
|
|
139
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
140
|
-
|
|
141
|
-
// export { default as baseImage } from './baseImage.js'
|
|
142
|
-
const {
|
|
143
|
-
isArray
|
|
144
|
-
} = Array;
|
|
145
|
-
const {
|
|
146
|
-
keys
|
|
147
|
-
} = Object; // Detect the toString encoding from the request headers content-type
|
|
148
|
-
// enhance if further content types need to be non utf8 encoded.
|
|
149
|
-
|
|
150
|
-
function detectEncoding(request) {
|
|
151
|
-
const contentType = request.headers['content-type'];
|
|
152
|
-
return typeof contentType === 'string' && contentType.includes('multipart/form-data') ? 'binary' : 'utf8';
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
function nullIfEmpty(obj) {
|
|
156
|
-
return obj && (keys(obj).length > 0 ? obj : null);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
function isPlainObject(obj) {
|
|
160
|
-
return typeof obj === 'object' && !isArray(obj) && obj != null;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
function toPlainOrEmptyObject(obj) {
|
|
164
|
-
return typeof obj === 'object' && !isArray(obj) ? obj : {};
|
|
165
|
-
}
|
package/dist/utils/jsonPath.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = jsonPath;
|
|
7
|
-
|
|
8
|
-
var _jsonpathPlus = require("jsonpath-plus");
|
|
9
|
-
|
|
10
|
-
// import debugLog from '../debugLog.js'
|
|
11
|
-
function jsonPath(json, path) {
|
|
12
|
-
// debugLog('Calling jsonPath:', path)
|
|
13
|
-
// NOTE: JSONPath returns undefined if 'json' is e.g. null, undefined, string,
|
|
14
|
-
// number (anything other than JSON)
|
|
15
|
-
const [result] = (0, _jsonpathPlus.JSONPath)({
|
|
16
|
-
json,
|
|
17
|
-
path
|
|
18
|
-
}) || []; // debugLog('jsonPath resolved:', result)
|
|
19
|
-
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = parseHeaders;
|
|
7
|
-
const {
|
|
8
|
-
entries,
|
|
9
|
-
fromEntries
|
|
10
|
-
} = Object; // (obj: { [string]: string }): { [Lowercase<string>]: string }
|
|
11
|
-
|
|
12
|
-
function parseHeaders(obj) {
|
|
13
|
-
return fromEntries(entries(obj).map(([k, v]) => [k.toLowerCase(), v]));
|
|
14
|
-
}
|