UNPKG

@h4ad/serverless-adapter

Version:

Run REST APIs and other web applications using your existing Node.js application framework (NestJS, Express, Koa, Hapi, Fastify and many others), on top of AWS, Azure, Digital Ocean and many other clouds.

36 lines (33 loc) 1.94 kB
import { H as HandlerContract, B as BinarySettings, S as ServerlessHandler } from './handler.contract-D9QyTfDX.cjs'; import { A as AdapterContract, R as ResolverContract, a as AdapterRequest, S as ServerlessResponse } from './adapter.contract-Cp2Jsh5V.cjs'; import { F as FrameworkContract } from './framework.contract-td-lRvq6.cjs'; import { S as ServerlessRequest } from './request-DsBcr1WD.cjs'; import { I as ILogger } from './logger-F8qccesk.cjs'; /** * The abstract class that represents the base class for a handler * * @breadcrumb Core * @public */ declare abstract class BaseHandler<TApp, TEvent, TContext, TCallback, TResponse, TReturn> implements HandlerContract<TApp, TEvent, TContext, TCallback, TResponse, TReturn> { /** * Get the handler that will handle serverless requests */ abstract getHandler(app: TApp, framework: FrameworkContract<TApp>, adapters: AdapterContract<TEvent, TContext, TResponse>[], resolverFactory: ResolverContract<TEvent, TContext, TCallback, TResponse, TReturn>, binarySettings: BinarySettings, respondWithErrors: boolean, log: ILogger): ServerlessHandler<TReturn>; /** * Get the adapter to handle a specific event and context * * @param event - The event sent by serverless * @param context - The context sent by serverless * @param adapters - The list of adapters * @param log - The instance of logger */ protected getAdapterByEventAndContext(event: TEvent, context: TContext, adapters: AdapterContract<TEvent, TContext, TResponse>[], log: ILogger): AdapterContract<TEvent, TContext, TResponse>; /** * Get serverless request and response frmo the adapter request * * @param requestValues - The request values from adapter */ protected getServerlessRequestResponseFromAdapterRequest(requestValues: AdapterRequest): [request: ServerlessRequest, response: ServerlessResponse]; } export { BaseHandler as B };