Abstract
Create a new app.
Optional
controllersPath: string[](Optional) Paths to the directories that contain controller js
files that
declare controllers. Required if the default Container
is used, or the
provided Container
instance has its autoBindInjectable
flag set to true
.
Ignored if the provided Container
instance has its autoBindInjectable
flag set to false
.
(Optional) Application config to pass to lambda-api
, defaults to new AppConfig
.
(Optional) InversifyJS
IOC Container
instance which can
build controllers and error interceptors, defaults to new Container
with
autoBindInjectable
flag set to true
.
Protected
Readonly
apiProtected
app(Optional) Application config to pass to lambda-api
, defaults to new AppConfig
.
Protected
app(Optional) InversifyJS
IOC Container
instance which can
build controllers and error interceptors, defaults to new Container
with
autoBindInjectable
flag set to true
.
Protected
Optional
Readonly
controllers(Optional) Paths to the directories that contain controller js
files that
declare controllers. Required if the default Container
is used, or the
provided Container
instance has its autoBindInjectable
flag set to true
.
Ignored if the provided Container
instance has its autoBindInjectable
flag set to false
.
Protected
initialisedProtected
Readonly
logProtected
loggerAbstract
runRun using the passed event and context, ultimately should call the
processEvent
method on the apiServer
instance.
Request context.
The response.
Generated using TypeDoc
Application base class which combines the
Server
,Container
(seeInversifyJS
) andAppConfig
classes to create a decorator driven API with typescript middleware and dependency injection. It uses thelambda-api
package as the underlying HTTP API framework.AWS Lambda requests are handled by the
run
method, which will return a response compatible with either API Gateway or an ALB.Extending this class will allow creating an app implementation for runtimes, AWS Lambda, Local Web Server etc.