@zeltjs/adapter-lambda 0.8.0 → 0.8.2-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EnvAdaptor,
|
|
1
|
+
import { ConfiguredFeature, CreateRuntimeOptions, EnvAdaptor, HttpCapabilities, RuntimeApp } from "@zeltjs/core";
|
|
2
2
|
import { Writable } from "node:stream";
|
|
3
3
|
|
|
4
4
|
//#region src/lambda-env.adaptor.d.ts
|
|
@@ -330,11 +330,18 @@ type LambdaAppOptions = {
|
|
|
330
330
|
};
|
|
331
331
|
type LambdaHandlerV2 = (event: APIGatewayProxyEventV2, context: Context) => Promise<APIGatewayProxyResultV2>;
|
|
332
332
|
type LambdaHandlerV1 = (event: APIGatewayProxyEvent, context: Context) => Promise<APIGatewayProxyResult>;
|
|
333
|
-
type LambdaApp =
|
|
333
|
+
type LambdaApp = {
|
|
334
|
+
readonly get: <T extends object>(cls: new (...args: never[]) => T) => Promise<T>;
|
|
334
335
|
readonly handler: LambdaHandlerV2;
|
|
335
336
|
readonly handlerV1: LambdaHandlerV1;
|
|
336
337
|
readonly shutdown: () => Promise<void>;
|
|
337
338
|
};
|
|
339
|
+
type HttpRuntimeApp = RuntimeApp<readonly ConfiguredFeature[]> & {
|
|
340
|
+
readonly http: HttpCapabilities;
|
|
341
|
+
};
|
|
342
|
+
type HttpApp = {
|
|
343
|
+
readonly createRuntime: (options?: CreateRuntimeOptions) => Promise<HttpRuntimeApp>;
|
|
344
|
+
};
|
|
338
345
|
declare const onLambda: (app: HttpApp, options?: LambdaAppOptions) => Promise<LambdaApp>;
|
|
339
346
|
//#endregion
|
|
340
347
|
export { type LambdaApp, type LambdaAppOptions, LambdaEnvAdaptor, type LambdaHandlerV1, type LambdaHandlerV2, onLambda };
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["APIGatewayAuthorizerResultContext","name","APIGatewayEventDefaultAuthorizerContext","APIGatewayEventRequestContext","APIGatewayEventRequestContextWithAuthorizer","TAuthorizerContext","APIGatewayEventIdentity","accountId","apiId","authorizer","connectedAt","connectionId","domainName","domainPrefix","eventType","extendedRequestId","protocol","httpMethod","identity","messageDirection","messageId","path","stage","requestId","requestTime","requestTimeEpoch","resourceId","resourcePath","routeKey","APIGatewayEventClientCertificate","clientCertPem","serialNumber","subjectDN","issuerDN","validity","notAfter","notBefore","accessKey","apiKey","apiKeyId","caller","clientCert","cognitoAuthenticationProvider","cognitoAuthenticationType","cognitoIdentityId","cognitoIdentityPoolId","principalOrgId","sourceIp","user","userAgent","userArn","Writable","Handler","TEvent","TResult","Context","Callback","Promise","event","context","callback","CognitoIdentity","ClientContext","Error","callbackWaitsForEmptyEventLoop","functionName","functionVersion","invokedFunctionArn","memoryLimitInMB","awsRequestId","logGroupName","logStreamName","identity","clientContext","getRemainingTimeInMillis","done","error","result","fail","succeed","messageOrObject","message","object","cognitoIdentityId","cognitoIdentityPoolId","ClientContextClient","ClientContextEnv","client","Custom","env","installationId","appTitle","appVersionName","appVersionCode","appPackageName","platformVersion","platform","make","model","locale","StreamifyHandler","awslambda","HttpResponseStream","responseStream","_0","Record","global","from","writable","metadata","setContentType","contentType","streamifyResponse","handler","sideEffect","APIGatewayEventClientCertificate","APIGatewayEventDefaultAuthorizerContext","APIGatewayEventRequestContextWithAuthorizer","Callback","CognitoIdentity","Handler","APIGatewayProxyHandler","APIGatewayProxyEvent","APIGatewayProxyResult","APIGatewayProxyCallback","APIGatewayProxyHandlerV2","T","APIGatewayProxyEventV2","APIGatewayProxyResultV2","APIGatewayProxyWebsocketHandlerV2","APIGatewayProxyWebsocketEventV2","APIGatewayProxyHandlerV2WithJWTAuthorizer","APIGatewayProxyEventV2WithJWTAuthorizer","APIGatewayProxyHandlerV2WithLambdaAuthorizer","TAuthorizerContext","APIGatewayProxyEventV2WithLambdaAuthorizer","APIGatewayProxyHandlerV2WithIAMAuthorizer","APIGatewayProxyEventV2WithIAMAuthorizer","APIGatewayProxyCallbackV2","APIGatewayProxyEventBase","APIGatewayProxyWithLambdaAuthorizerHandler","APIGatewayProxyWithLambdaAuthorizerEvent","APIGatewayProxyWithCognitoAuthorizerHandler","APIGatewayProxyWithCognitoAuthorizerEvent","APIGatewayEventLambdaAuthorizerContext","APIGatewayProxyWithLambdaAuthorizerEventRequestContext","P","principalId","integrationLatency","APIGatewayProxyCognitoAuthorizer","claims","name","APIGatewayProxyEventHeaders","APIGatewayProxyEventMultiValueHeaders","APIGatewayProxyEventPathParameters","APIGatewayProxyEventQueryStringParameters","APIGatewayProxyEventMultiValueQueryStringParameters","APIGatewayProxyEventStageVariables","body","headers","multiValueHeaders","httpMethod","isBase64Encoded","path","pathParameters","queryStringParameters","multiValueQueryStringParameters","stageVariables","requestContext","resource","Array","statusCode","header","APIGatewayEventRequestContextV2","accountId","apiId","authentication","clientCert","domainName","domainPrefix","http","method","protocol","sourceIp","userAgent","requestId","routeKey","stage","time","timeEpoch","APIGatewayEventWebsocketRequestContextV2","messageId","eventType","extendedRequestId","requestTime","messageDirection","connectedAt","requestTimeEpoch","connectionId","APIGatewayProxyEventV2WithRequestContext","TRequestContext","version","rawPath","rawQueryString","cookies","APIGatewayProxyWebsocketEventV2WithRequestContext","APIGatewayEventRequestContextLambdaAuthorizer","lambda","APIGatewayEventRequestContextJWTAuthorizer","jwt","scopes","APIGatewayEventRequestContextIAMAuthorizer","iam","accessKey","callerId","cognitoIdentity","principalOrgId","userArn","userId","APIGatewayEventRequestContextV2WithAuthorizer","TAuthorizer","authorizer","APIGatewayProxyStructuredResultV2","ProxyHandler","ProxyCallback","APIGatewayEvent","ProxyResult"],"sources":["../src/lambda-env.adaptor.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.150/node_modules/@types/aws-lambda/common/api-gateway.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.150/node_modules/@types/aws-lambda/handler.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.150/node_modules/@types/aws-lambda/trigger/api-gateway-proxy.d.ts","../src/on-lambda.ts"],"x_google_ignoreList":[1,2,3],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["APIGatewayAuthorizerResultContext","name","APIGatewayEventDefaultAuthorizerContext","APIGatewayEventRequestContext","APIGatewayEventRequestContextWithAuthorizer","TAuthorizerContext","APIGatewayEventIdentity","accountId","apiId","authorizer","connectedAt","connectionId","domainName","domainPrefix","eventType","extendedRequestId","protocol","httpMethod","identity","messageDirection","messageId","path","stage","requestId","requestTime","requestTimeEpoch","resourceId","resourcePath","routeKey","APIGatewayEventClientCertificate","clientCertPem","serialNumber","subjectDN","issuerDN","validity","notAfter","notBefore","accessKey","apiKey","apiKeyId","caller","clientCert","cognitoAuthenticationProvider","cognitoAuthenticationType","cognitoIdentityId","cognitoIdentityPoolId","principalOrgId","sourceIp","user","userAgent","userArn","Writable","Handler","TEvent","TResult","Context","Callback","Promise","event","context","callback","CognitoIdentity","ClientContext","Error","callbackWaitsForEmptyEventLoop","functionName","functionVersion","invokedFunctionArn","memoryLimitInMB","awsRequestId","logGroupName","logStreamName","identity","clientContext","getRemainingTimeInMillis","done","error","result","fail","succeed","messageOrObject","message","object","cognitoIdentityId","cognitoIdentityPoolId","ClientContextClient","ClientContextEnv","client","Custom","env","installationId","appTitle","appVersionName","appVersionCode","appPackageName","platformVersion","platform","make","model","locale","StreamifyHandler","awslambda","HttpResponseStream","responseStream","_0","Record","global","from","writable","metadata","setContentType","contentType","streamifyResponse","handler","sideEffect","APIGatewayEventClientCertificate","APIGatewayEventDefaultAuthorizerContext","APIGatewayEventRequestContextWithAuthorizer","Callback","CognitoIdentity","Handler","APIGatewayProxyHandler","APIGatewayProxyEvent","APIGatewayProxyResult","APIGatewayProxyCallback","APIGatewayProxyHandlerV2","T","APIGatewayProxyEventV2","APIGatewayProxyResultV2","APIGatewayProxyWebsocketHandlerV2","APIGatewayProxyWebsocketEventV2","APIGatewayProxyHandlerV2WithJWTAuthorizer","APIGatewayProxyEventV2WithJWTAuthorizer","APIGatewayProxyHandlerV2WithLambdaAuthorizer","TAuthorizerContext","APIGatewayProxyEventV2WithLambdaAuthorizer","APIGatewayProxyHandlerV2WithIAMAuthorizer","APIGatewayProxyEventV2WithIAMAuthorizer","APIGatewayProxyCallbackV2","APIGatewayProxyEventBase","APIGatewayProxyWithLambdaAuthorizerHandler","APIGatewayProxyWithLambdaAuthorizerEvent","APIGatewayProxyWithCognitoAuthorizerHandler","APIGatewayProxyWithCognitoAuthorizerEvent","APIGatewayEventLambdaAuthorizerContext","APIGatewayProxyWithLambdaAuthorizerEventRequestContext","P","principalId","integrationLatency","APIGatewayProxyCognitoAuthorizer","claims","name","APIGatewayProxyEventHeaders","APIGatewayProxyEventMultiValueHeaders","APIGatewayProxyEventPathParameters","APIGatewayProxyEventQueryStringParameters","APIGatewayProxyEventMultiValueQueryStringParameters","APIGatewayProxyEventStageVariables","body","headers","multiValueHeaders","httpMethod","isBase64Encoded","path","pathParameters","queryStringParameters","multiValueQueryStringParameters","stageVariables","requestContext","resource","Array","statusCode","header","APIGatewayEventRequestContextV2","accountId","apiId","authentication","clientCert","domainName","domainPrefix","http","method","protocol","sourceIp","userAgent","requestId","routeKey","stage","time","timeEpoch","APIGatewayEventWebsocketRequestContextV2","messageId","eventType","extendedRequestId","requestTime","messageDirection","connectedAt","requestTimeEpoch","connectionId","APIGatewayProxyEventV2WithRequestContext","TRequestContext","version","rawPath","rawQueryString","cookies","APIGatewayProxyWebsocketEventV2WithRequestContext","APIGatewayEventRequestContextLambdaAuthorizer","lambda","APIGatewayEventRequestContextJWTAuthorizer","jwt","scopes","APIGatewayEventRequestContextIAMAuthorizer","iam","accessKey","callerId","cognitoIdentity","principalOrgId","userArn","userId","APIGatewayEventRequestContextV2WithAuthorizer","TAuthorizer","authorizer","APIGatewayProxyStructuredResultV2","ProxyHandler","ProxyCallback","APIGatewayEvent","ProxyResult"],"sources":["../src/lambda-env.adaptor.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.150/node_modules/@types/aws-lambda/common/api-gateway.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.150/node_modules/@types/aws-lambda/handler.d.ts","../../../node_modules/.pnpm/@types+aws-lambda@8.10.150/node_modules/@types/aws-lambda/trigger/api-gateway-proxy.d.ts","../src/on-lambda.ts"],"x_google_ignoreList":[1,2,3],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -101,16 +101,17 @@ const createHandlerV1 = (appFetch) => {
|
|
|
101
101
|
};
|
|
102
102
|
};
|
|
103
103
|
const onLambda = async (app, options = {}) => {
|
|
104
|
-
app.
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
const
|
|
104
|
+
const readyApp = await app.createRuntime({
|
|
105
|
+
fallbackConfigs: [LambdaEnvAdaptor],
|
|
106
|
+
warmup: options.warmup ?? false
|
|
107
|
+
});
|
|
108
|
+
const handler = createHandlerV2(readyApp.http.fetch);
|
|
109
|
+
const handlerV1 = createHandlerV1(readyApp.http.fetch);
|
|
109
110
|
return {
|
|
110
|
-
|
|
111
|
+
get: readyApp.get,
|
|
111
112
|
handler,
|
|
112
113
|
handlerV1,
|
|
113
|
-
shutdown:
|
|
114
|
+
shutdown: readyApp.shutdown
|
|
114
115
|
};
|
|
115
116
|
};
|
|
116
117
|
//#endregion
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Config","EnvAdaptor","LambdaEnvAdaptor","get","key","process","env","LambdaEnvAdaptor","buildHeadersFromRecord","headersRecord","headers","Headers","key","value","Object","entries","set","buildBodyFromEvent","body","isBase64Encoded","buffer","Buffer","from","Blob","buildRequestBody","method","buildRequestFromEventV2","event","protocol","get","host","requestContext","domainName","path","rawPath","queryString","rawQueryString","url","http","requestBody","Request","buildQueryStringFromParams","queryParams","params","undefined","URLSearchParams","toString","buildRequestFromEventV1","queryStringParameters","httpMethod","buildResultFromResponseV2","response","forEach","contentType","isBinary","startsWith","arrayBuffer","text","statusCode","status","buildResultFromResponseV1","createHandlerV2","appFetch","_context","request","createHandlerV1","onLambda","app","options","addFallbackConfig","readyOptions","warmup","resolver","ready","handler","fetch","handlerV1","shutdown"],"sources":["../src/lambda-env.adaptor.ts","../src/on-lambda.ts"],"sourcesContent":["import { Config, EnvAdaptor } from '@zeltjs/core';\n\n@Config\nexport class LambdaEnvAdaptor extends EnvAdaptor {\n override get(key: string): string | undefined {\n return process.env[key];\n }\n}\n","import type { HttpApp, ReadyOptions, ReadyResult } from '@zeltjs/core';\nimport type {\n APIGatewayProxyEvent,\n APIGatewayProxyEventV2,\n APIGatewayProxyResult,\n APIGatewayProxyResultV2,\n Context,\n} from 'aws-lambda';\n\nimport { LambdaEnvAdaptor } from './lambda-env.adaptor';\n\nexport type LambdaAppOptions = {\n readonly warmup?: boolean;\n};\n\nexport type LambdaHandlerV2 = (\n event: APIGatewayProxyEventV2,\n context: Context,\n) => Promise<APIGatewayProxyResultV2>;\n\nexport type LambdaHandlerV1 = (\n event: APIGatewayProxyEvent,\n context: Context,\n) => Promise<APIGatewayProxyResult>;\n\nexport type LambdaApp = ReadyResult & {\n readonly handler: LambdaHandlerV2;\n readonly handlerV1: LambdaHandlerV1;\n readonly shutdown: () => Promise<void>;\n};\n\nconst buildHeadersFromRecord = (\n headersRecord: Record<string, string | undefined> | undefined,\n): Headers => {\n const headers = new Headers();\n if (headersRecord) {\n for (const [key, value] of Object.entries(headersRecord)) {\n if (value) headers.set(key, value);\n }\n }\n return headers;\n};\n\nconst buildBodyFromEvent = (\n body: string | null | undefined,\n isBase64Encoded: boolean,\n): BodyInit | null => {\n if (!body) return null;\n if (isBase64Encoded) {\n const buffer = Buffer.from(body, 'base64');\n return new Blob([buffer]);\n }\n return body;\n};\n\nconst buildRequestBody = (method: string, body: BodyInit | null): BodyInit | null => {\n return method !== 'GET' && method !== 'HEAD' ? body : null;\n};\n\nconst buildRequestFromEventV2 = (event: APIGatewayProxyEventV2): Request => {\n const headers = buildHeadersFromRecord(event.headers);\n\n const protocol = headers.get('x-forwarded-proto') ?? 'https';\n const host = event.requestContext.domainName;\n const path = event.rawPath;\n const queryString = event.rawQueryString ? `?${event.rawQueryString}` : '';\n const url = `${protocol}://${host}${path}${queryString}`;\n\n const method = event.requestContext.http.method;\n const body = buildBodyFromEvent(event.body, event.isBase64Encoded);\n const requestBody = buildRequestBody(method, body);\n\n return new Request(url, {\n method,\n headers,\n body: requestBody,\n });\n};\n\nconst buildQueryStringFromParams = (\n queryParams: Record<string, string | undefined> | null | undefined,\n): string => {\n if (!queryParams) return '';\n const params: Record<string, string> = {};\n for (const [key, value] of Object.entries(queryParams)) {\n if (value !== undefined) {\n params[key] = value;\n }\n }\n return `?${new URLSearchParams(params).toString()}`;\n};\n\nconst buildRequestFromEventV1 = (event: APIGatewayProxyEvent): Request => {\n const headers = buildHeadersFromRecord(event.headers);\n\n const protocol = headers.get('x-forwarded-proto') ?? 'https';\n const host = headers.get('host') ?? 'localhost';\n const path = event.path;\n\n const queryString = buildQueryStringFromParams(event.queryStringParameters);\n const url = `${protocol}://${host}${path}${queryString}`;\n\n const method = event.httpMethod;\n const body = buildBodyFromEvent(event.body, event.isBase64Encoded);\n const requestBody = buildRequestBody(method, body);\n\n return new Request(url, {\n method,\n headers,\n body: requestBody,\n });\n};\n\nconst buildResultFromResponseV2 = async (response: Response): Promise<APIGatewayProxyResultV2> => {\n const headers: Record<string, string> = {};\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n\n const contentType = response.headers.get('content-type') ?? '';\n const isBinary =\n contentType.startsWith('image/') ||\n contentType.startsWith('audio/') ||\n contentType.startsWith('video/') ||\n contentType === 'application/octet-stream';\n\n const body = isBinary\n ? Buffer.from(await response.arrayBuffer()).toString('base64')\n : await response.text();\n\n return {\n statusCode: response.status,\n headers,\n body,\n isBase64Encoded: isBinary,\n };\n};\n\nconst buildResultFromResponseV1 = async (response: Response): Promise<APIGatewayProxyResult> => {\n const headers: Record<string, string> = {};\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n\n const contentType = response.headers.get('content-type') ?? '';\n const isBinary =\n contentType.startsWith('image/') ||\n contentType.startsWith('audio/') ||\n contentType.startsWith('video/') ||\n contentType === 'application/octet-stream';\n\n const body = isBinary\n ? Buffer.from(await response.arrayBuffer()).toString('base64')\n : await response.text();\n\n return {\n statusCode: response.status,\n headers,\n body,\n isBase64Encoded: isBinary,\n };\n};\n\nconst createHandlerV2 = (appFetch: (request: Request) => Promise<Response>): LambdaHandlerV2 => {\n return async (\n event: APIGatewayProxyEventV2,\n _context: Context,\n ): Promise<APIGatewayProxyResultV2> => {\n const request = buildRequestFromEventV2(event);\n const response = await appFetch(request);\n return buildResultFromResponseV2(response);\n };\n};\n\nconst createHandlerV1 = (appFetch: (request: Request) => Promise<Response>): LambdaHandlerV1 => {\n return async (event: APIGatewayProxyEvent, _context: Context): Promise<APIGatewayProxyResult> => {\n const request = buildRequestFromEventV1(event);\n const response = await appFetch(request);\n return buildResultFromResponseV1(response);\n };\n};\n\nexport const onLambda = async (\n app: HttpApp,\n options: LambdaAppOptions = {},\n): Promise<LambdaApp> => {\n app.addFallbackConfig(LambdaEnvAdaptor);\n\n const readyOptions: ReadyOptions = { warmup: options.warmup ?? false };\n const resolver = await app.ready(readyOptions);\n\n const handler = createHandlerV2(app.fetch);\n const handlerV1 = createHandlerV1(app.fetch);\n\n return {\n ...resolver,\n handler,\n handlerV1,\n shutdown: app.shutdown,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Config","EnvAdaptor","LambdaEnvAdaptor","get","key","process","env","LambdaEnvAdaptor","buildHeadersFromRecord","headersRecord","headers","Headers","key","value","Object","entries","set","buildBodyFromEvent","body","isBase64Encoded","buffer","Buffer","from","Blob","buildRequestBody","method","buildRequestFromEventV2","event","protocol","get","host","requestContext","domainName","path","rawPath","queryString","rawQueryString","url","http","requestBody","Request","buildQueryStringFromParams","queryParams","params","undefined","URLSearchParams","toString","buildRequestFromEventV1","queryStringParameters","httpMethod","buildResultFromResponseV2","response","forEach","contentType","isBinary","startsWith","arrayBuffer","text","statusCode","status","buildResultFromResponseV1","createHandlerV2","appFetch","_context","request","createHandlerV1","onLambda","app","options","readyApp","createRuntime","fallbackConfigs","warmup","handler","fetch","handlerV1","shutdown"],"sources":["../src/lambda-env.adaptor.ts","../src/on-lambda.ts"],"sourcesContent":["import { Config, EnvAdaptor } from '@zeltjs/core';\n\n@Config\nexport class LambdaEnvAdaptor extends EnvAdaptor {\n override get(key: string): string | undefined {\n return process.env[key];\n }\n}\n","import type {\n ConfiguredFeature,\n CreateRuntimeOptions,\n HttpCapabilities,\n RuntimeApp,\n} from '@zeltjs/core';\nimport type {\n APIGatewayProxyEvent,\n APIGatewayProxyEventV2,\n APIGatewayProxyResult,\n APIGatewayProxyResultV2,\n Context,\n} from 'aws-lambda';\n\nimport { LambdaEnvAdaptor } from './lambda-env.adaptor';\n\nexport type LambdaAppOptions = {\n readonly warmup?: boolean;\n};\n\nexport type LambdaHandlerV2 = (\n event: APIGatewayProxyEventV2,\n context: Context,\n) => Promise<APIGatewayProxyResultV2>;\n\nexport type LambdaHandlerV1 = (\n event: APIGatewayProxyEvent,\n context: Context,\n) => Promise<APIGatewayProxyResult>;\n\nexport type LambdaApp = {\n readonly get: <T extends object>(cls: new (...args: never[]) => T) => Promise<T>;\n readonly handler: LambdaHandlerV2;\n readonly handlerV1: LambdaHandlerV1;\n readonly shutdown: () => Promise<void>;\n};\n\nconst buildHeadersFromRecord = (\n headersRecord: Record<string, string | undefined> | undefined,\n): Headers => {\n const headers = new Headers();\n if (headersRecord) {\n for (const [key, value] of Object.entries(headersRecord)) {\n if (value) headers.set(key, value);\n }\n }\n return headers;\n};\n\nconst buildBodyFromEvent = (\n body: string | null | undefined,\n isBase64Encoded: boolean,\n): BodyInit | null => {\n if (!body) return null;\n if (isBase64Encoded) {\n const buffer = Buffer.from(body, 'base64');\n return new Blob([buffer]);\n }\n return body;\n};\n\nconst buildRequestBody = (method: string, body: BodyInit | null): BodyInit | null => {\n return method !== 'GET' && method !== 'HEAD' ? body : null;\n};\n\nconst buildRequestFromEventV2 = (event: APIGatewayProxyEventV2): Request => {\n const headers = buildHeadersFromRecord(event.headers);\n\n const protocol = headers.get('x-forwarded-proto') ?? 'https';\n const host = event.requestContext.domainName;\n const path = event.rawPath;\n const queryString = event.rawQueryString ? `?${event.rawQueryString}` : '';\n const url = `${protocol}://${host}${path}${queryString}`;\n\n const method = event.requestContext.http.method;\n const body = buildBodyFromEvent(event.body, event.isBase64Encoded);\n const requestBody = buildRequestBody(method, body);\n\n return new Request(url, {\n method,\n headers,\n body: requestBody,\n });\n};\n\nconst buildQueryStringFromParams = (\n queryParams: Record<string, string | undefined> | null | undefined,\n): string => {\n if (!queryParams) return '';\n const params: Record<string, string> = {};\n for (const [key, value] of Object.entries(queryParams)) {\n if (value !== undefined) {\n params[key] = value;\n }\n }\n return `?${new URLSearchParams(params).toString()}`;\n};\n\nconst buildRequestFromEventV1 = (event: APIGatewayProxyEvent): Request => {\n const headers = buildHeadersFromRecord(event.headers);\n\n const protocol = headers.get('x-forwarded-proto') ?? 'https';\n const host = headers.get('host') ?? 'localhost';\n const path = event.path;\n\n const queryString = buildQueryStringFromParams(event.queryStringParameters);\n const url = `${protocol}://${host}${path}${queryString}`;\n\n const method = event.httpMethod;\n const body = buildBodyFromEvent(event.body, event.isBase64Encoded);\n const requestBody = buildRequestBody(method, body);\n\n return new Request(url, {\n method,\n headers,\n body: requestBody,\n });\n};\n\nconst buildResultFromResponseV2 = async (response: Response): Promise<APIGatewayProxyResultV2> => {\n const headers: Record<string, string> = {};\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n\n const contentType = response.headers.get('content-type') ?? '';\n const isBinary =\n contentType.startsWith('image/') ||\n contentType.startsWith('audio/') ||\n contentType.startsWith('video/') ||\n contentType === 'application/octet-stream';\n\n const body = isBinary\n ? Buffer.from(await response.arrayBuffer()).toString('base64')\n : await response.text();\n\n return {\n statusCode: response.status,\n headers,\n body,\n isBase64Encoded: isBinary,\n };\n};\n\nconst buildResultFromResponseV1 = async (response: Response): Promise<APIGatewayProxyResult> => {\n const headers: Record<string, string> = {};\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n\n const contentType = response.headers.get('content-type') ?? '';\n const isBinary =\n contentType.startsWith('image/') ||\n contentType.startsWith('audio/') ||\n contentType.startsWith('video/') ||\n contentType === 'application/octet-stream';\n\n const body = isBinary\n ? Buffer.from(await response.arrayBuffer()).toString('base64')\n : await response.text();\n\n return {\n statusCode: response.status,\n headers,\n body,\n isBase64Encoded: isBinary,\n };\n};\n\nconst createHandlerV2 = (appFetch: (request: Request) => Promise<Response>): LambdaHandlerV2 => {\n return async (\n event: APIGatewayProxyEventV2,\n _context: Context,\n ): Promise<APIGatewayProxyResultV2> => {\n const request = buildRequestFromEventV2(event);\n const response = await appFetch(request);\n return buildResultFromResponseV2(response);\n };\n};\n\nconst createHandlerV1 = (appFetch: (request: Request) => Promise<Response>): LambdaHandlerV1 => {\n return async (event: APIGatewayProxyEvent, _context: Context): Promise<APIGatewayProxyResult> => {\n const request = buildRequestFromEventV1(event);\n const response = await appFetch(request);\n return buildResultFromResponseV1(response);\n };\n};\n\ntype HttpRuntimeApp = RuntimeApp<readonly ConfiguredFeature[]> & {\n readonly http: HttpCapabilities;\n};\n\ntype HttpApp = {\n readonly createRuntime: (options?: CreateRuntimeOptions) => Promise<HttpRuntimeApp>;\n};\n\nexport const onLambda = async (\n app: HttpApp,\n options: LambdaAppOptions = {},\n): Promise<LambdaApp> => {\n const readyApp = await app.createRuntime({\n fallbackConfigs: [LambdaEnvAdaptor],\n warmup: options.warmup ?? false,\n });\n\n const handler = createHandlerV2(readyApp.http.fetch);\n const handlerV1 = createHandlerV1(readyApp.http.fetch);\n\n return {\n get: readyApp.get,\n handler,\n handlerV1,\n shutdown: readyApp.shutdown,\n };\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeltjs/adapter-lambda",
|
|
3
|
-
"version": "0.8.0",
|
|
3
|
+
"version": "0.8.2-canary.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dist"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@zeltjs/core": "0.8.0"
|
|
24
|
+
"@zeltjs/core": "0.8.2-canary.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/aws-lambda": "8.10.150",
|