Don't add interceptor (error middleware) to Express Route's stack #207
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The current problem is that the error middleware that new relic adds to the main stack is also being added to every Router method's stack.
This means that the error middleware is actually being run twice, once from the Router method's stack and once from the general stack.
Besides this being wrong the other problem is that the cleanup function (line 398) that runs after the first error middleware finished removes the partialName thus causing the errors in new relic to appear without the specific url. it will only show '/' in the Errors view because of the cleanup.
The solution is to not add the error middleware for Router stacks. Add it only for the main stack.