LazyFramework
@h4ad/serverless-adapter > LazyFramework
(class) LazyFramework
The framework that asynchronously instantiates your application and forwards the request to the framework as quickly as possible.
Signature:
export declare class LazyFramework<TApp> implements FrameworkContract<null>
Implements: FrameworkContract <null>
Example
import express from 'express';
import \{ ServerlessAdapter } from '@h4ad/serverless-adapter';
import \{ ExpressFramework } from '@h4ad/serverless-adapter/lib/frameworks/express';
import \{ LazyFramework } from '@h4ad/serverless-adapter/lib/frameworks/lazy';
const expressFramework = new ExpressFramework();
const factory = async () => \{
const app = express();
// do some asynchronous stuffs like create the database;
await new Promise(resolve => setTimeout(resolve, 100);
return app;
};
const framework = new LazyFramework(expressFramework, factory);
export const handler = ServerlessAdapter.new(null)
.setFramework(framework)
// set other configurations and then build
.build();
(constructor)
Default Constructor
Signature:
constructor(framework: FrameworkContract<TApp>, factory: () => Promise<TApp>, logger?: ILogger);
Parameters
Parameter | Type | Description |
---|---|---|
framework | FrameworkContract <TApp> | |
factory | () => Promise<TApp> | |
logger | (Optional) |
(property) cachedApp
The cached version of the app
Signature:
protected cachedApp?: TApp;
(property) delayedFactory
The delayed factory to create an instance of the app
Signature:
protected readonly delayedFactory: Promise<void>;
(property) factory
Signature:
protected readonly factory: () => Promise<TApp>;
(property) framework
Signature:
protected readonly framework: FrameworkContract<TApp>;
(property) logger
Signature:
protected readonly logger: ILogger;
(method) sendRequest
Signature:
sendRequest(_app: null, request: IncomingMessage, response: ServerResponse): void;
Parameters
Parameter | Type | Description |
---|---|---|
_app | null | |
request | IncomingMessage | |
response | ServerResponse |
Returns:
void