@scloud/lambda-api 1.2.6 → 1.2.9

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 CHANGED
@@ -6,6 +6,7 @@ This is a piece of useful boilerplate to handle the mechanics of routing, header
6
6
 
7
7
  ## Releae notes
8
8
 
9
+ * `1.2.8`: Add `apiHandler` overload for `ApiGatewayProxyEventAny` so handlers accepting both v1 and v2 events get correct return types
9
10
  * `1.2.3`: Readme update
10
11
  * '1.2.0': Restructure so we consumers don't need to include '/dist' in the import path
11
12
  * `1.1.8`: Trusted publishing enabled
@@ -41,7 +42,18 @@ const routes: types.Routes = {
41
42
  }
42
43
  ```
43
44
 
44
- Use `@scloud/lambda-api` in your Lambda handler. `apiHandler` accepts both REST API (v1) and Function URL (v2) events and returns the matching response shape. When the event type is known at compile time, TypeScript infers the result type via overloads; you can also use `ApiGatewayProxyResultFor<E>`:
45
+ Use `@scloud/lambda-api` in your Lambda handler. `apiHandler` accepts both REST API (v1) and Function URL / HTTP API (v2) events and returns the matching response shape. When the event type is known at compile time, TypeScript infers the result type via overloads. For handlers that accept either format, type the event as `ApiGatewayProxyEventAny`:
46
+
47
+ ```
48
+ import { Context } from 'aws-lambda';
49
+ import { apiHandler, ApiGatewayProxyEventAny } from '@scloud/lambda-api';
50
+
51
+ export async function handler(event: ApiGatewayProxyEventAny, context: Context) {
52
+ return apiHandler(event, context, routes);
53
+ }
54
+ ```
55
+
56
+ If you need an explicit return type, use `ApiGatewayProxyResultFor<E>`:
45
57
 
46
58
  ```
47
59
  import { APIGatewayProxyEventV2, Context } from 'aws-lambda';
package/dist/handler.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import { APIGatewayProxyEvent, APIGatewayProxyEventV2, APIGatewayProxyResult, APIGatewayProxyStructuredResultV2, Context } from 'aws-lambda';
2
2
  import { Request, Response, Handler, Routes } from './types';
3
+ import { ApiGatewayProxyEventAny, ApiGatewayProxyResultFor } from './event';
3
4
  type ErrorHandler = (request: Request, e: Error) => Promise<Response | undefined>;
4
5
  /**
5
6
  * API route handler
6
7
  */
7
8
  export declare function apiHandler(event: APIGatewayProxyEventV2, context: Context, routes: Routes, errorHandler?: ErrorHandler, catchAll?: Handler): Promise<APIGatewayProxyStructuredResultV2>;
8
9
  export declare function apiHandler(event: APIGatewayProxyEvent, context: Context, routes: Routes, errorHandler?: ErrorHandler, catchAll?: Handler): Promise<APIGatewayProxyResult>;
10
+ export declare function apiHandler<E extends ApiGatewayProxyEventAny>(event: E, context: Context, routes: Routes, errorHandler?: ErrorHandler, catchAll?: Handler): Promise<ApiGatewayProxyResultFor<E>>;
9
11
  export {};
package/dist/handler.js CHANGED
@@ -79,4 +79,4 @@ async function apiHandler(event, context, routes, errorHandler, catchAll) {
79
79
  ? (0, result_1.toApiGatewayResultV2)(response)
80
80
  : (0, result_1.toApiGatewayResultV1)(response);
81
81
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBMkdBLGdDQVdDO0FBL0dELG1DQUdpQjtBQUNqQixtQ0FBdUU7QUFDdkUsdUNBQXFEO0FBQ3JELHFDQUFzRTtBQUN0RSxnREFBdUI7QUFJdkIsU0FBUyxnQkFBZ0IsQ0FBQyxDQUFXO0lBQ25DLElBQUksQ0FBQyxZQUFZLGdCQUFRLEVBQUUsQ0FBQztRQUMxQixPQUFPO1lBQ0wsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO1lBQ2xCLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtZQUN4QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQztRQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsT0FBTztRQUNMLFVBQVUsRUFBRSxHQUFHO1FBQ2YsSUFBSSxFQUFFLHVCQUF1QjtLQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVELEtBQUssVUFBVSxhQUFhLENBQzFCLEtBQThCLEVBQzlCLE1BQWMsRUFDZCxZQUFzQyxFQUN0QyxRQUE2QjtJQUU3QixNQUFNLE9BQU8sR0FBRyxJQUFBLHNCQUFZLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFFcEMsSUFBSSxRQUE4QixDQUFDO0lBQ25DLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVUsRUFBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksS0FBSyxDQUFDLE1BQU07WUFBRSxPQUFPLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFFeEQsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBcUIsQ0FBQyxD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SUdhdGV3YXlQcm94eUV2ZW50LFxuICBBUElHYXRld2F5UHJveHlFdmVudFYyLFxuICBBUElHYXRld2F5UHJveHlSZXN1bHQsXG4gIEFQSUdhdGV3YXlQcm94eVN0cnVjdHVyZWRSZXN1bHRWMixcbiAgQ29udGV4dCxcbn0gZnJvbSAnYXdzLWxhbWJkYSc7XG5pbXBvcnQge1xuICBSZXF1ZXN0LCBSZXNwb25zZSwgSGFuZGxlciwgUm91dGUsIFJvdXRlcyxcbiAgQXBpRXJyb3IsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQXBpR2F0ZXdheVByb3h5RXZlbnRBbnksIGlzQXBpR2F0ZXdheUV2ZW50VjIgfSBmcm9tICcuL2V2ZW50JztcbmltcG9ydCB7IG1hdGNoUm91dGUsIHBhcnNlUmVxdWVzdCB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyB0b0FwaUdhdGV3YXlSZXN1bHRWMSwgdG9BcGlHYXRld2F5UmVzdWx0VjIgfSBmcm9tICcuL3Jlc3VsdCc7XG5pbXBvcnQgeiBmcm9tICd6b2QvdjQnO1xuXG50eXBlIEVycm9ySGFuZGxlciA9IChyZXF1ZXN0OiBSZXF1ZXN0LCBlOiBFcnJvcikgPT4gUHJvbWlzZTxSZXNwb25zZSB8IHVuZGVmaW5lZD47XG5cbmZ1bmN0aW9uIGFwaUVycm9yUmVzcG9uc2UoZT86IHVua25vd24pOiBSZXNwb25zZSB7XG4gIGlmIChlIGluc3RhbmNlb2YgQXBpRXJyb3IpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVyczogZS5oZWFkZXJzLFxuICAgICAgc3RhdHVzQ29kZTogZS5zdGF0dXNDb2RlLFxuICAgICAgYm9keTogZS5ib2R5LFxuICAgIH07XG4gIH1cblxuICBpZiAoZSkgY29uc29sZS5lcnJvcihlKTtcbiAgcmV0dXJuIHtcbiAgICBzdGF0dXNDb2RlOiA1MDAsXG4gICAgYm9keTogJ0ludGVybmFsIHNlcnZlciBlcnJvcicsXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVJlcXVlc3QoXG4gIGV2ZW50OiBBcGlHYXRld2F5UHJveHlFdmVudEFueSxcbiAgcm91dGVzOiBSb3V0ZXMsXG4gIGVycm9ySGFuZGxlcjogRXJyb3JIYW5kbGVyIHwgdW5kZWZpbmVkLFxuICBjYXRjaEFsbDogSGFuZGxlciB8IHVuZGVmaW5lZCxcbik6IFByb21pc2U8UmVzcG9uc2U+IHtcbiAgY29uc3QgcmVxdWVzdCA9IHBhcnNlUmVxdWVzdChldmVudCk7XG5cbiAgbGV0IHJlc3BvbnNlOiBSZXNwb25zZSB8IHVuZGVmaW5lZDtcbiAgdHJ5IHtcbiAgICBjb25zdCBtYXRjaCA9IG1hdGNoUm91dGUocm91dGVzLCByZXF1ZXN0LnBhdGgpO1xuICAgIGlmIChtYXRjaC5wYXJhbXMpIHJlcXVlc3QucGF0aFBhcmFtZXRlcnMgPSBtYXRjaC5wYXJhbXM7XG5cbiAgICBpZiAobWF0Y2gubWV0aG9kcykge1xuICAgICAgY29uc3Qgcm91dGUgPSBtYXRjaC5tZXRob2RzW3JlcXVlc3QubWV0aG9kIGFzIGtleW9mIFJvdXRlXTtcbiAgICAgIGlmICghcm91dGUpIHRocm93IG5ldyBBcGlFcnJvcig0MDUsICdNZXRob2Qgbm90IGFsbG93ZWQnKTtcblxuICAgICAgaWYgKHJvdXRlLnJlcXVlc3Q/LmJvZHkpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gcm91dGUucmVxdWVzdC5ib2R5LnNhZmVQYXJzZShyZXF1ZXN0LmJvZHkpO1xuICAgICAgICBpZiAoIXBhcnNlZC5zdWNjZXNzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFwaUVycm9yKDQwMCwgei50cmVlaWZ5RXJyb3IocGFyc2VkLmVycm9yKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmVxdWVzdC5ib2R5ID0gcGFyc2VkLmRhdGE7XG4gICAgICB9XG5cbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgcm91dGUuaGFuZGxlcihyZXF1ZXN0KTtcblxuICAgICAgaWYgKHJvdXRlLnJlc3BvbnNlPy5ib2R5KSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IHJvdXRlLnJlc3BvbnNlLmJvZHkuc2FmZVBhcnNlKHJlc3BvbnNlLmJvZHkpO1xuICAgICAgICBpZiAoIXBhcnNlZC5zdWNjZXNzKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCByZXNwb25zZSBib2R5OicsIHJlcXVlc3QubWV0aG9kLCByZXF1ZXN0LnBhdGgsIEpTT04uc3RyaW5naWZ5KHoudHJlZWlmeUVycm9yKHBhcnNlZC5lcnJvciksIG51bGwsIDIpKTtcbiAgICAgICAgICByZXNwb25zZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBpRXJyb3IoNTAwLCAnSW50ZXJuYWwgc2VydmVyIGVycm9yJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmVzcG9uc2UuYm9keSA9IHBhcnNlZC5kYXRhO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoY2F0Y2hBbGwpIHtcbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgY2F0Y2hBbGwuaGFuZGxlcihyZXF1ZXN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEFwaUVycm9yKDQwNCwgJ05vdCBmb3VuZCcpO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChlcnJvckhhbmRsZXIpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgZXJyb3JIYW5kbGVyKHJlcXVlc3QsIGUgYXMgRXJyb3IpO1xuICAgICAgfSBjYXRjaCAoZWUpIHtcbiAgICAgICAgcmVzcG9uc2UgPSBhcGlFcnJvclJlc3BvbnNlKGVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXNwb25zZSA9IHJlc3BvbnNlID8/IGFwaUVycm9yUmVzcG9uc2UoZSk7XG4gIH1cblxuICByZXR1cm4gcmVzcG9uc2U7XG59XG5cbi8qKlxuICogQVBJIHJvdXRlIGhhbmRsZXJcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFwaUhhbmRsZXIoXG4gIGV2ZW50OiBBUElHYXRld2F5UHJveHlFdmVudFYyLFxuICBjb250ZXh0OiBDb250ZXh0LFxuICByb3V0ZXM6IFJvdXRlcyxcbiAgZXJyb3JIYW5kbGVyPzogRXJyb3JIYW5kbGVyLFxuICBjYXRjaEFsbD86IEhhbmRsZXIsXG4pOiBQcm9taXNlPEFQSUdhdGV3YXlQcm94eVN0cnVjdHVyZWRSZXN1bHRWMj47XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBpSGFuZGxlcihcbiAgZXZlbnQ6IEFQSUdhdGV3YXlQcm94eUV2ZW50LFxuICBjb250ZXh0OiBDb250ZXh0LFxuICByb3V0ZXM6IFJvdXRlcyxcbiAgZXJyb3JIYW5kbGVyPzogRXJyb3JIYW5kbGVyLFxuICBjYXRjaEFsbD86IEhhbmRsZXIsXG4pOiBQcm9taXNlPEFQSUdhdGV3YXlQcm94eVJlc3VsdD47XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBpSGFuZGxlcihcbiAgZXZlbnQ6IEFwaUdhdGV3YXlQcm94eUV2ZW50QW55LFxuICBjb250ZXh0OiBDb250ZXh0LFxuICByb3V0ZXM6IFJvdXRlcyxcbiAgZXJyb3JIYW5kbGVyPzogRXJyb3JIYW5kbGVyLFxuICBjYXRjaEFsbD86IEhhbmRsZXIsXG4pOiBQcm9taXNlPEFQSUdhdGV3YXlQcm94eVJlc3VsdCB8IEFQSUdhdGV3YXlQcm94eVN0cnVjdHVyZWRSZXN1bHRWMj4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGhhbmRsZVJlcXVlc3QoZXZlbnQsIHJvdXRlcywgZXJyb3JIYW5kbGVyLCBjYXRjaEFsbCk7XG4gIHJldHVybiBpc0FwaUdhdGV3YXlFdmVudFYyKGV2ZW50KVxuICAgID8gdG9BcGlHYXRld2F5UmVzdWx0VjIocmVzcG9uc2UpXG4gICAgOiB0b0FwaUdhdGV3YXlSZXN1bHRWMShyZXNwb25zZSk7XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBa0hBLGdDQVdDO0FBdEhELG1DQUdpQjtBQUNqQixtQ0FBaUc7QUFDakcsdUNBQXFEO0FBQ3JELHFDQUFzRTtBQUN0RSxnREFBdUI7QUFJdkIsU0FBUyxnQkFBZ0IsQ0FBQyxDQUFXO0lBQ25DLElBQUksQ0FBQyxZQUFZLGdCQUFRLEVBQUUsQ0FBQztRQUMxQixPQUFPO1lBQ0wsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO1lBQ2xCLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtZQUN4QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQztRQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsT0FBTztRQUNMLFVBQVUsRUFBRSxHQUFHO1FBQ2YsSUFBSSxFQUFFLHVCQUF1QjtLQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVELEtBQUssVUFBVSxhQUFhLENBQzFCLEtBQThCLEVBQzlCLE1BQWMsRUFDZCxZQUFzQyxFQUN0QyxRQUE2QjtJQUU3QixNQUFNLE9BQU8sR0FBRyxJQUFBLHNCQUFZLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFFcEMsSUFBSSxRQUE4QixDQUFDO0lBQ25DLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVUsRUFBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksS0FBSyxDQUFDLE1BQU07WUFBRSxPQUFPLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFFeEQsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBcUIsQ0FBQyxD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SUdhdGV3YXlQcm94eUV2ZW50LFxuICBBUElHYXRld2F5UHJveHlFdmVudFYyLFxuICBBUElHYXRld2F5UHJveHlSZXN1bHQsXG4gIEFQSUdhdGV3YXlQcm94eVN0cnVjdHVyZWRSZXN1bHRWMixcbiAgQ29udGV4dCxcbn0gZnJvbSAnYXdzLWxhbWJkYSc7XG5pbXBvcnQge1xuICBSZXF1ZXN0LCBSZXNwb25zZSwgSGFuZGxlciwgUm91dGUsIFJvdXRlcyxcbiAgQXBpRXJyb3IsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQXBpR2F0ZXdheVByb3h5RXZlbnRBbnksIEFwaUdhdGV3YXlQcm94eVJlc3VsdEZvciwgaXNBcGlHYXRld2F5RXZlbnRWMiB9IGZyb20gJy4vZXZlbnQnO1xuaW1wb3J0IHsgbWF0Y2hSb3V0ZSwgcGFyc2VSZXF1ZXN0IH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHRvQXBpR2F0ZXdheVJlc3VsdFYxLCB0b0FwaUdhdGV3YXlSZXN1bHRWMiB9IGZyb20gJy4vcmVzdWx0JztcbmltcG9ydCB6IGZyb20gJ3pvZC92NCc7XG5cbnR5cGUgRXJyb3JIYW5kbGVyID0gKHJlcXVlc3Q6IFJlcXVlc3QsIGU6IEVycm9yKSA9PiBQcm9taXNlPFJlc3BvbnNlIHwgdW5kZWZpbmVkPjtcblxuZnVuY3Rpb24gYXBpRXJyb3JSZXNwb25zZShlPzogdW5rbm93bik6IFJlc3BvbnNlIHtcbiAgaWYgKGUgaW5zdGFuY2VvZiBBcGlFcnJvcikge1xuICAgIHJldHVybiB7XG4gICAgICBoZWFkZXJzOiBlLmhlYWRlcnMsXG4gICAgICBzdGF0dXNDb2RlOiBlLnN0YXR1c0NvZGUsXG4gICAgICBib2R5OiBlLmJvZHksXG4gICAgfTtcbiAgfVxuXG4gIGlmIChlKSBjb25zb2xlLmVycm9yKGUpO1xuICByZXR1cm4ge1xuICAgIHN0YXR1c0NvZGU6IDUwMCxcbiAgICBib2R5OiAnSW50ZXJuYWwgc2VydmVyIGVycm9yJyxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaGFuZGxlUmVxdWVzdChcbiAgZXZlbnQ6IEFwaUdhdGV3YXlQcm94eUV2ZW50QW55LFxuICByb3V0ZXM6IFJvdXRlcyxcbiAgZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXIgfCB1bmRlZmluZWQsXG4gIGNhdGNoQWxsOiBIYW5kbGVyIHwgdW5kZWZpbmVkLFxuKTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICBjb25zdCByZXF1ZXN0ID0gcGFyc2VSZXF1ZXN0KGV2ZW50KTtcblxuICBsZXQgcmVzcG9uc2U6IFJlc3BvbnNlIHwgdW5kZWZpbmVkO1xuICB0cnkge1xuICAgIGNvbnN0IG1hdGNoID0gbWF0Y2hSb3V0ZShyb3V0ZXMsIHJlcXVlc3QucGF0aCk7XG4gICAgaWYgKG1hdGNoLnBhcmFtcykgcmVxdWVzdC5wYXRoUGFyYW1ldGVycyA9IG1hdGNoLnBhcmFtcztcblxuICAgIGlmIChtYXRjaC5tZXRob2RzKSB7XG4gICAgICBjb25zdCByb3V0ZSA9IG1hdGNoLm1ldGhvZHNbcmVxdWVzdC5tZXRob2QgYXMga2V5b2YgUm91dGVdO1xuICAgICAgaWYgKCFyb3V0ZSkgdGhyb3cgbmV3IEFwaUVycm9yKDQwNSwgJ01ldGhvZCBub3QgYWxsb3dlZCcpO1xuXG4gICAgICBpZiAocm91dGUucmVxdWVzdD8uYm9keSkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSByb3V0ZS5yZXF1ZXN0LmJvZHkuc2FmZVBhcnNlKHJlcXVlc3QuYm9keSk7XG4gICAgICAgIGlmICghcGFyc2VkLnN1Y2Nlc3MpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBpRXJyb3IoNDAwLCB6LnRyZWVpZnlFcnJvcihwYXJzZWQuZXJyb3IpKTtcbiAgICAgICAgfVxuICAgICAgICByZXF1ZXN0LmJvZHkgPSBwYXJzZWQuZGF0YTtcbiAgICAgIH1cblxuICAgICAgcmVzcG9uc2UgPSBhd2FpdCByb3V0ZS5oYW5kbGVyKHJlcXVlc3QpO1xuXG4gICAgICBpZiAocm91dGUucmVzcG9uc2U/LmJvZHkpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gcm91dGUucmVzcG9uc2UuYm9keS5zYWZlUGFyc2UocmVzcG9uc2UuYm9keSk7XG4gICAgICAgIGlmICghcGFyc2VkLnN1Y2Nlc3MpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIHJlc3BvbnNlIGJvZHk6JywgcmVxdWVzdC5tZXRob2QsIHJlcXVlc3QucGF0aCwgSlNPTi5zdHJpbmdpZnkoei50cmVlaWZ5RXJyb3IocGFyc2VkLmVycm9yKSwgbnVsbCwgMikpO1xuICAgICAgICAgIHJlc3BvbnNlID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHRocm93IG5ldyBBcGlFcnJvcig1MDAsICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InKTtcbiAgICAgICAgfVxuICAgICAgICByZXNwb25zZS5ib2R5ID0gcGFyc2VkLmRhdGE7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjYXRjaEFsbCkge1xuICAgICAgcmVzcG9uc2UgPSBhd2FpdCBjYXRjaEFsbC5oYW5kbGVyKHJlcXVlc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgQXBpRXJyb3IoNDA0LCAnTm90IGZvdW5kJyk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKGVycm9ySGFuZGxlcikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBlcnJvckhhbmRsZXIocmVxdWVzdCwgZSBhcyBFcnJvcik7XG4gICAgICB9IGNhdGNoIChlZSkge1xuICAgICAgICByZXNwb25zZSA9IGFwaUVycm9yUmVzcG9uc2UoZWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlc3BvbnNlID0gcmVzcG9uc2UgPz8gYXBpRXJyb3JSZXNwb25zZShlKTtcbiAgfVxuXG4gIHJldHVybiByZXNwb25zZTtcbn1cblxuLyoqXG4gKiBBUEkgcm91dGUgaGFuZGxlclxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBpSGFuZGxlcihcbiAgZXZlbnQ6IEFQSUdhdGV3YXlQcm94eUV2ZW50VjIsXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIHJvdXRlczogUm91dGVzLFxuICBlcnJvckhhbmRsZXI/OiBFcnJvckhhbmRsZXIsXG4gIGNhdGNoQWxsPzogSGFuZGxlcixcbik6IFByb21pc2U8QVBJR2F0ZXdheVByb3h5U3RydWN0dXJlZFJlc3VsdFYyPjtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcGlIYW5kbGVyKFxuICBldmVudDogQVBJR2F0ZXdheVByb3h5RXZlbnQsXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIHJvdXRlczogUm91dGVzLFxuICBlcnJvckhhbmRsZXI/OiBFcnJvckhhbmRsZXIsXG4gIGNhdGNoQWxsPzogSGFuZGxlcixcbik6IFByb21pc2U8QVBJR2F0ZXdheVByb3h5UmVzdWx0PjtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcGlIYW5kbGVyPEUgZXh0ZW5kcyBBcGlHYXRld2F5UHJveHlFdmVudEFueT4oXG4gIGV2ZW50OiBFLFxuICBjb250ZXh0OiBDb250ZXh0LFxuICByb3V0ZXM6IFJvdXRlcyxcbiAgZXJyb3JIYW5kbGVyPzogRXJyb3JIYW5kbGVyLFxuICBjYXRjaEFsbD86IEhhbmRsZXIsXG4pOiBQcm9taXNlPEFwaUdhdGV3YXlQcm94eVJlc3VsdEZvcjxFPj47XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBpSGFuZGxlcihcbiAgZXZlbnQ6IEFwaUdhdGV3YXlQcm94eUV2ZW50QW55LFxuICBjb250ZXh0OiBDb250ZXh0LFxuICByb3V0ZXM6IFJvdXRlcyxcbiAgZXJyb3JIYW5kbGVyPzogRXJyb3JIYW5kbGVyLFxuICBjYXRjaEFsbD86IEhhbmRsZXIsXG4pOiBQcm9taXNlPEFQSUdhdGV3YXlQcm94eVJlc3VsdCB8IEFQSUdhdGV3YXlQcm94eVN0cnVjdHVyZWRSZXN1bHRWMj4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGhhbmRsZVJlcXVlc3QoZXZlbnQsIHJvdXRlcywgZXJyb3JIYW5kbGVyLCBjYXRjaEFsbCk7XG4gIHJldHVybiBpc0FwaUdhdGV3YXlFdmVudFYyKGV2ZW50KVxuICAgID8gdG9BcGlHYXRld2F5UmVzdWx0VjIocmVzcG9uc2UpXG4gICAgOiB0b0FwaUdhdGV3YXlSZXN1bHRWMShyZXNwb25zZSk7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scloud/lambda-api",
3
- "version": "1.2.6",
3
+ "version": "1.2.9",
4
4
  "description": "Lambda handler for API Gateway proxy requests",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",