New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NestJS error handler doesn't support non-HTTP contexts #11877
Labels
Comments
Thank you for reporting this in such detail! I opened a PR to fix this here: #11880 |
mydea
added a commit
that referenced
this issue
May 3, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Is there an existing issue for this?
How do you use Sentry?
Sentry Saas (sentry.io)
Which SDK are you using?
@sentry/node
SDK Version
8.0.0-beta.6
Framework Version
No response
Link to Sentry event
No response
SDK Setup
No response
Steps to Reproduce
In this code for the
setupNestErrorHandler
, an interceptor is created. It wants to get an HTTP request from the execution context and when the request has a route property it uses that to set the transaction name:sentry-javascript/packages/node/src/integrations/tracing/nest.ts
Lines 52 to 66 in 3355a05
However, this assumes the NestJS app is only operating as an HTTP server. NestJS execution contexts come in different varieties when the app is being used for microservices or as a GraphQL server. These contexts may not have a request, and this is not respected by the handler.
Expected Result
The interceptor should check if it is in an HTTP execution context before inspecting the request or route.
Actual Result
In non-HTTP contexts, an error occurs in the interceptor:
See #5578 (comment)
The text was updated successfully, but these errors were encountered: