Type aliases
IRequestMiddleware
IRequest
Middleware<R, T>: ( request: express.Request ) => Promise < Either < IResponse < R > , T > >
Type parameters
Type declaration
( request: express.Request ) : Promise < Either < IResponse < R > , T > >
Parameters
Returns Promise < Either < IResponse < R > , T > >
RequestHandler
Request
Handler<R>: ( request: express.Request ) => Promise < IResponse < R > >
Type parameters
Type declaration
( request: express.Request ) : Promise < IResponse < R > >
Functions
withRequestMiddlewares
withRequestMiddlewares<R1, T1>( v1: IRequestMiddleware < R1 , T1 > ) : <RH>( handler: ( v1: T1 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 >
withRequestMiddlewares<R1, R2, T1, T2>( v1: IRequestMiddleware < R1 , T1 > , v2: IRequestMiddleware < R2 , T2 > ) : <RH>( handler: ( v1: T1 , v2: T2 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 | R2 >
withRequestMiddlewares<R1, R2, R3, T1, T2, T3>( v1: IRequestMiddleware < R1 , T1 > , v2: IRequestMiddleware < R2 , T2 > , v3: IRequestMiddleware < R3 , T3 > ) : <RH>( handler: ( v1: T1 , v2: T2 , v3: T3 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 | R2 | R3 >
withRequestMiddlewares<R1, R2, R3, R4, T1, T2, T3, T4>( v1: IRequestMiddleware < R1 , T1 > , v2: IRequestMiddleware < R2 , T2 > , v3: IRequestMiddleware < R3 , T3 > , v4: IRequestMiddleware < R4 , T4 > ) : <RH>( handler: ( v1: T1 , v2: T2 , v3: T3 , v4: T4 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 | R2 | R3 | R4 >
withRequestMiddlewares<R1, R2, R3, R4, R5, T1, T2, T3, T4, T5>( v1: IRequestMiddleware < R1 , T1 > , v2: IRequestMiddleware < R2 , T2 > , v3: IRequestMiddleware < R3 , T3 > , v4: IRequestMiddleware < R4 , T4 > , v5: IRequestMiddleware < R5 , T5 > ) : <RH>( handler: ( v1: T1 , v2: T2 , v3: T3 , v4: T4 , v5: T5 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 | R2 | R3 | R4 | R5 >
withRequestMiddlewares<R1, R2, R3, R4, R5, R6, T1, T2, T3, T4, T5, T6>( v1: IRequestMiddleware < R1 , T1 > , v2: IRequestMiddleware < R2 , T2 > , v3: IRequestMiddleware < R3 , T3 > , v4: IRequestMiddleware < R4 , T4 > , v5: IRequestMiddleware < R5 , T5 > , v6: IRequestMiddleware < R6 , T6 > ) : <RH>( handler: ( v1: T1 , v2: T2 , v3: T3 , v4: T4 , v5: T5 , v6: T6 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 | R2 | R3 | R4 | R5 | R6 >
Type parameters
Parameters
Returns <RH>( handler: ( v1: T1 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 >
Type parameters
Parameters
Type parameters
Parameters
Returns <RH>( handler: ( v1: T1 , v2: T2 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 | R2 >
Type parameters
Parameters
handler: ( v1: T1 , v2: T2 ) => Promise < IResponse < RH > >
Type parameters
Parameters
Returns <RH>( handler: ( v1: T1 , v2: T2 , v3: T3 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 | R2 | R3 >
Type parameters
Parameters
handler: ( v1: T1 , v2: T2 , v3: T3 ) => Promise < IResponse < RH > >
( v1: T1 , v2: T2 , v3: T3 ) : Promise < IResponse < RH > >
Type parameters
Parameters
Returns <RH>( handler: ( v1: T1 , v2: T2 , v3: T3 , v4: T4 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 | R2 | R3 | R4 >
Type parameters
Parameters
handler: ( v1: T1 , v2: T2 , v3: T3 , v4: T4 ) => Promise < IResponse < RH > >
( v1: T1 , v2: T2 , v3: T3 , v4: T4 ) : Promise < IResponse < RH > >
Parameters
v1: T1
v2: T2
v3: T3
v4: T4
Returns Promise < IResponse < RH > >
Returns RequestHandler < RH | R1 | R2 | R3 | R4 >
Type parameters
R1
R2
R3
R4
R5
T1
T2
T3
T4
T5
Parameters
Returns <RH>( handler: ( v1: T1 , v2: T2 , v3: T3 , v4: T4 , v5: T5 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 | R2 | R3 | R4 | R5 >
<RH>( handler: ( v1: T1 , v2: T2 , v3: T3 , v4: T4 , v5: T5 ) => Promise < IResponse < RH > > ) : RequestHandler < RH | R1 | R2 | R3 | R4 | R5 >
Type parameters
Parameters
handler: ( v1: T1 , v2: T2 , v3: T3 , v4: T4 , v5: T5 ) => Promise < IResponse < RH > >
( v1: T1 , v2: T2 , v3: T3 , v4: T4 , v5: T5 ) : Promise < IResponse < RH > >
Parameters
v1: T1
v2: T2
v3: T3
v4: T4
v5: T5
Returns Promise < IResponse < RH > >
Returns RequestHandler < RH | R1 | R2 | R3 | R4 | R5 >
Type parameters
R1
R2
R3
R4
R5
R6
T1
T2
T3
T4
T5
T6
Parameters
Returns <RH>( handler: ( v1: T1 , v2: T2 , v3: T3 , v4: T4 , v5: T5 , v6: T6 ) => Promise < IResponse < RH > > ) => RequestHandler < RH | R1 | R2 | R3 | R4 | R5 | R6 >
<RH>( handler: ( v1: T1 , v2: T2 , v3: T3 , v4: T4 , v5: T5 , v6: T6 ) => Promise < IResponse < RH > > ) : RequestHandler < RH | R1 | R2 | R3 | R4 | R5 | R6 >
Type parameters
Parameters
handler: ( v1: T1 , v2: T2 , v3: T3 , v4: T4 , v5: T5 , v6: T6 ) => Promise < IResponse < RH > >
( v1: T1 , v2: T2 , v3: T3 , v4: T4 , v5: T5 , v6: T6 ) : Promise < IResponse < RH > >
Parameters
v1: T1
v2: T2
v3: T3
v4: T4
v5: T5
v6: T6
Returns Promise < IResponse < RH > >
Returns RequestHandler < RH | R1 | R2 | R3 | R4 | R5 | R6 >
wrapRequestHandler
wrapRequestHandler<R>( handler: RequestHandler < R > ) : express.RequestHandler
Type parameters
Parameters
Returns express.RequestHandler
Legend
Variable
Function
Function with type parameter
Type alias
Type alias with type parameter
Interface
Interface with type parameter
Class with type parameter
Interface for implementing a request middleware.
A RequestMiddleware is just a function that validates a request or extracts some object out of it. The middleware returns a promise that will resolve to a value that gets passed to the handler. In case the validation fails, the middleware rejects the promise (the value of the error is discarded). In this case the processing of the following middlewares will not happen. Finally, when called, the middleware has full access to the request and the response objects. Access to the response object is particulary useful for returning error messages when the validation fails.