diff --git a/package.json b/package.json index 245d813..ef72599 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,6 @@ "Tushar Choudhari (https://github.com/chtushar)", "Aniket Rao (https://github.com/anik3tra0)" ], - "peerDependencies": { - "express": "4.x" - }, "keywords": [ "last9", "metrics", diff --git a/src/clients/express.ts b/src/clients/express.ts index d3bcfe4..7f97634 100644 --- a/src/clients/express.ts +++ b/src/clients/express.ts @@ -11,18 +11,16 @@ export const instrumentExpress = ( redMiddleware: Express.RequestHandler, openapm: OpenAPM ) => { - let redMiddlewareAdded = false; - const routerProto = express.Router as unknown as Express.Router['prototype']; - wrap(routerProto, 'use', (original) => { + wrap(routerProto.use ? routerProto : routerProto.prototype, 'use', (original) => { return function wrappedUse( this: typeof original, ...args: Parameters ) { - if (!redMiddlewareAdded) { + if (!this._redMiddlewareAdded) { original.apply(this, [redMiddleware]); - redMiddlewareAdded = true; + this._redMiddlewareAdded = true; } return original.apply(this, args); };