import * as express from 'express' ; import { injectable , interfaces as inversifyInterfaces } from 'inversify' ; import * as interfaces from './interfaces' ; @ injectable ( ) export abstract class BaseMiddleware implements BaseMiddleware { public httpContext ! : interfaces . HttpContext ; protected bind < T > ( serviceIdentifier ) { return this . httpContext . container . bind ( serviceIdentifier ) ; } public abstract handler ( req , res , next ) ; }